一尘不染

错误“无法加载软件包:软件包my_prog:找到软件包my_prog和main”

go

在我的GOPATH中,我有类似以下内容:

/bin/
/pkg/
/src/
/src/my_prog/
/src/my_prog/main.go
/src/my_prog/d_interface.go
/src/my_prog/d_struct_that_implements_the_interface.go

main.gopackage main,在d_interface.god_struct_that_implements_the_interface.go我有package my_prog

当我尝试go build my_prog出现以下错误时:

can't load package: package my_prog: found packages my_prog (d_interface.go) and main (main.go) in C:\dev\Code\Go\src\my_prog

这是否意味着任何属于的文件都package main应该放在其自己的文件夹中?如果是这样,原因是什么?


阅读 239

收藏
2020-07-02

共1个答案

一尘不染

是的,每个程序包必须在其自己的目录中定义。

源结构在如何编写Go代码中定义。

包是可以在多个程序中使用,可以发布,导入,从URL获取等的组件。因此,使其具有自己的目录和程序可以具有的目录一样多是有意义的。

2020-07-02