亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

去導入本地包

去導入本地包

Go
嚕嚕噠 2022-05-23 16:53:34
我有一個main.gopackage mainimport (    "context"    "fmt"    "log"    model "model"    "github.com/aws/aws-lambda-go/events"    "github.com/aws/aws-lambda-go/lambda")func handler(...){}我嘗試導入目錄中的模型model并調用文件model.go它只包含:package modeltype xxx struct {    xxx}我嘗試主要導入它,但出現錯誤:build: cannot load model: cannot find module providing package model
查看完整描述

2 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

如果您的模塊model不是本地的,那么您可以使用 Tonys 答案,它會正常工作,但如果您在本地使用此模塊,那么您需要在go.mod文件中添加路徑。


因此,例如,本地模塊model僅包含model.go具有以下內容的模塊


package model


type Example struct {

    Name string

}


func (e *Example) Foo() string {

    return e.Name

}

對于這個本地模塊,必須必須用命令初始化模塊,go mod init model并且內容./model/go.mod將是


module model

go 1.13

在要導入此模塊的主模塊中,您需要添加以下行


require model v1.0.0

replace model v1.0.0 => {Absolute or relative path to the model module}

因此,您的main測試模塊的go.mod文件將如下所示


module main


require model v1.0.0

replace model v1.0.0 => ./model


go 1.13

通過設置,您可以在此模塊中使用此test模塊,只需import  "model"


因此,當使用 main 方法測試模塊時


package main


import (

    model "model"

)


func main() {

    example := model.Example{

        Name: "Hello World",

    }

    println(example.Foo())

}

輸出將是


Hello World


查看完整回答
反對 回復 2022-05-23
?
當年話下

TA貢獻1890條經驗 獲得超9個贊

如果你go.mod看起來像這樣:


module github.com/meakesbia/myproject


go 1.14

那么您需要使用完整的模塊參考導入模塊包:


import "github.com/meakesbia/myproject/model"

如果它是一個完全本地的項目,則替換github.com/meakesbia為模型名稱,go.mod例如:


module meakesbia/myproject


go 1.14

import "meakesbia/myproject/model"

您不需要向文件添加replace指令,go.mod除非您對從例如github導入的模塊進行本地更改。


查看完整回答
反對 回復 2022-05-23
  • 2 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號