在我的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.go我package main,在d_interface.go和d_struct_that_implements_the_interface.go我有package my_prog。
main.go
package main
d_interface.go
d_struct_that_implements_the_interface.go
package my_prog
当我尝试go build 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应该放在其自己的文件夹中?如果是这样,原因是什么?
是的,每个程序包必须在其自己的目录中定义。
源结构在如何编写Go代码中定义。
包是可以在多个程序中使用,可以发布,导入,从URL获取等的组件。因此,使其具有自己的目录和程序可以具有的目录一样多是有意义的。