我仍在尝试了解 Go 工作区布局。我有一个包todinfo和一个使用它的示例程序,untod.我目前有这样的目录安排:$GOPATH+- bin...+- pkg ...+- src +- github.com +- longborough +- (others)... +- todinfo +- todinfo.go +- untod.go我最初在不同的目录中开发了这两个程序。但是,由于untod它确实是 todinfo 包的一部分,因此将其打包为单个项目,在同一目录中似乎更为明智。但是当我尝试安装时(为了清楚起见,我将回复分成三行):D:\Development\Go\src\github.com\longborough\todinfo>go install can''t load package: package github.com/longborough/todinfo: found packages todinfo (todinfo.go) and main (untod.go) in D:\Development\Go\src\github.com\longborough\todinfo我希望我弄错了,但这闻起来有点像 Java,至少对于外行来说。我究竟做错了什么?我应该使用哪些 Go 命令来安装包然后安装示例?或者,正确的目录安排是什么?
1 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
这也让我。可以这样想:untod
不是todinfo
包的一部分,它是todinfo
包(库)的消费者。事实上,main
它根本不是一个真正的包,只是一个标记,表明它有一个入口点,应该编译成二进制文件。
TLDR:你可以放在untod
任何地方。在 root 中可能是明智的:它会被命名为你的最后一个 dir 组件$GOPATH
。或者,cmd/untod/untod.go
如果您有多个二进制文件,请将其放入。
经过一些更多的开发,您可能会考虑制作一个单独的 repo,github.com/longborough/todinfo-bins
以便将它们分开。
- 1 回答
- 0 关注
- 193 浏览
添加回答
举报
0/150
提交
取消