我有一个名为“tatata”的 Go 模块。它只在我的机器上开发,因此它不包含模块名称中任何 URL 的任何路径。如果我的模块中只有一个main包,它可以正常工作。但是,如果我在模块中创建两个包,我会遇到一些问题。这是树:./| |- go.mod |-src |- main | | - main.go | |- api | - api.go文件内容:go.modmodule tatatago 1.13main.gopackage mainimport "fmt"import "tatata/api"func main() { fmt.Println("Hello world") api.Test1()}api.gopackage apiimport "fmt"func Test1() { fmt.Println("Testing API")}当我尝试构建时,我发出go build ./src/main并收到以下错误: build tatata/src/main: cannot load tatata/api: malformed module path "tatata/api": missing dot in first path element现在,如果我尝试放置一个虚拟点,例如将模块重命名为tatata.com我会收到错误build tatata.com/src/main: cannot load tatata.com/api: cannot find module providing package tatata.com/api,因为显然我的包/模块在该 URL 中不可用。GOPATH为空,即未设置。问题:a) 什么是正确的方法,即在单个 Go 模块中使用多个包时命名模块和导入?b) 是否不可能有一个名称中没有点的 Go 模块?!c)您能否指出任何具有单个 go 模块和模块中的多个包的构建设置的工作示例?
- 3 回答
- 0 关注
- 207 浏览
添加回答
举报
0/150
提交
取消