单个go模块中的多个软件包
我是新来的。试图理解如何在go模块中构建我的项目 正如您在屏幕截图中看到的,我有一个go模块。 我在里面有一条主线。内容如下单个go模块中的多个软件包,go,module,project,Go,Module,Project,我是新来的。试图理解如何在go模块中构建我的项目 正如您在屏幕截图中看到的,我有一个go模块。 我在里面有一条主线。内容如下 package main import "go-test/repo/test" func main() { test.GetFun() } package repo import "fmt" // GetFun just for fun func GetFun() { fmt.Println("f
package main
import "go-test/repo/test"
func main() {
test.GetFun()
}
package repo
import "fmt"
// GetFun just for fun
func GetFun() {
fmt.Println("fun")
}
在repo/test.go内部,以下是内容
package main
import "go-test/repo/test"
func main() {
test.GetFun()
}
package repo
import "fmt"
// GetFun just for fun
func GetFun() {
fmt.Println("fun")
}
当我运行时,go build
下面是我得到的错误
maing.go:3:8: package go-test/repo/test is not in GOROOT (/usr/local/go/src/go-test/repo/test)
您的test.go定义了包repo,因此您应该像
导入“go test/repo”,主要指的是回购,而不是测试,
比如repo.GetFun()。请阅读
–icza您的
test.go
定义了包repo
,因此您应该像导入“go test/repo”一样导入它,并在main
中将其称为repo
,而不是test
,比如repo.GetFun()
。请阅读。此外,上述假设您的模块路径为go test
(这必须通过go.mod
)反映出来。谢谢。这对我有用。