在我的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
。
当我尝试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
的任何文件都应该放在自己的文件夹中?若有,原因何在?
发布于 2013-01-20 00:27:25
可以,每个包都必须在其自己的目录中定义。
源结构在How to Write Go Code中定义。
包是可以在多个程序中使用的组件,可以发布、导入、从URL获取等等。因此,它有自己的目录,就像程序有一个目录一样有意义。
发布于 2015-01-12 03:12:09
此外,如果您要做的只是将main.go文件拆分成多个文件,那么只需将其他文件命名为"package main“,只要您只在其中一个文件中定义了主函数,就可以了。
发布于 2013-11-20 03:08:17
确保您的软件包安装在$GOPATH
目录中,或者已经安装在工作区/软件包中。
例如:如果您的$GOPATH = "c:\go"
,请确保C:\Go\src\pkgName
中的包
https://stackoverflow.com/questions/14416275
复制相似问题