注意这个问题是关于 Go 语言规范而不是最佳实践或推荐。
看了很多包的文章,还是不太明白目录和包名的关系。这是我的例子。
我的项目结构如下图所示。当我这样做时go run ~/go/src/myproj/main.go,错误说:
src\myproj\main.go:5:2: 在以下任何位置都找不到包“myproj/pa/pb”:c:\go\src\myproj\pa\pb(来自 $GOROOT)C:\Users\terry\ go\src\myproj\pa\pb(来自 $GOPATH)


但是,如果我在 p.go 中更改package pb为package pa,并将导入从更改"myproj/pa/pb"为"myproj/pa",然后在 main.go 中更改fmt.Print(pb.Greet)为fmt.Print(pa.Greet),它将起作用。最里面的目录是否必须与包声明名称匹配?我的 go 版本是 1.14.4
喵喵时光机
拉风的咖菲猫
慕码人2483693
慕姐8265434
小唯快跑啊
随时随地看视频慕课网APP
相关分类