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

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導入的模塊進行本地更改。
- 2 回答
- 0 關注
- 119 瀏覽
添加回答
舉報