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

单独模块中的命令

单独模块中的命令

Go
catspeake 2022-01-10 19:04:13
查看 go tool 源代码后,阅读此 SO 答案(和链接文章): 什么是布局 Go 项目的明智方法(将二进制文件与应用程序分离)例如以下设置:myapp/  cmd/    first/      main.go    second/      main.go    third/      main.go  otherpackage/我很好奇您将如何实施/构建/调试这样的解决方案?我是否应该在根目录中有一个 main.go,然后根据用户运行的命令以某种方式执行 cmd 目录中的不同包?或者如何在根目录中没有“主”包的情况下构建这个多命令包?
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

您不需要main.go根包中的 a 。如果您进入 myapp 文件夹并运行,go install ./...那么 Go 将递归搜索main()子文件夹中的函数。

对于main()不同包中的每个函数,Go 会将其编译为包含所有必要包的单个可执行文件。在你的榜样,它会产生三个二进制文件:firstsecondthird

关于实现/调试,您只需按照通常的方式进行即可。也就是说,您使用标准测试一一实现和测试您的包。如果要测试编译后的二进制文件,可以使用exec.Cmdstruct.

另外,如果你想要好看的命令,你可以使用一些第三方库,比如cobracli


查看完整回答
反对 回复 2022-01-10
  • 1 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号