为了账号安全,请及时绑定邮箱和手机立即绑定

Golang - 我必须如何为包含示例程序的包安排我的工作区?

Golang - 我必须如何为包含示例程序的包安排我的工作区?

Go
梵蒂冈之花 2021-12-07 17:13:44
我仍在尝试了解 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以便将它们分开。


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信