首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误"can't load package: package my_prog: found package my_prog and main“

错误"can't load package: package my_prog: found package my_prog and main“
EN

Stack Overflow用户
提问于 2013-01-20 00:21:11
回答 3查看 112.4K关注 0票数 76

在我的GOPATH中有这样的东西:

代码语言:javascript
运行
复制
/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.god_struct_that_implements_the_interface.go中我有package my_prog

当我尝试go build my_prog时,我得到了以下错误:

代码语言:javascript
运行
复制
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的任何文件都应该放在自己的文件夹中?若有,原因何在?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-20 00:27:25

可以,每个包都必须在其自己的目录中定义。

源结构在How to Write Go Code中定义。

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

票数 79
EN

Stack Overflow用户

发布于 2015-01-12 03:12:09

此外,如果您要做的只是将main.go文件拆分成多个文件,那么只需将其他文件命名为"package main“,只要您只在其中一个文件中定义了主函数,就可以了。

票数 20
EN

Stack Overflow用户

发布于 2013-11-20 03:08:17

确保您的软件包安装在$GOPATH目录中,或者已经安装在工作区/软件包中。

例如:如果您的$GOPATH = "c:\go",请确保C:\Go\src\pkgName中的包

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14416275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档