我在玩 golang 并制作了一个密码生成工具。最初它打算用作命令行工具。后来我将生成逻辑分离到一个单独的包中(仍然是同一个github存储库),并将main函数留在项目的根目录中。现在我还想添加一个简单的 Web 前端(没什么特别的),但我不知道如何构建包。我是否应该将命令行入口点和 Web UI 放入同一个项目中它们自己的包中(使根为空)。或者也许我应该将实际的生成库移动到单独的包中的根和 UI。我想另一种选择是在 github 上的单独项目中使用 UI,但它们只会用于这个库,所以这似乎不是一个好主意。我记得在一些名为 cmd 的项目中看到过包,但我从来没有遇到过有多个前端的包。有没有一种 go(-gettable-) 方法可以做到这一点?
1 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
我同意如果它们只用于这个库,那么制作单独的项目/存储库没有多大意义。cmd
对于您正在构建的每个可执行文件,我只会有一个带有子目录的目录。
像这样的东西:
github.com/用户/项目
命令行
网络
main.go
main.go
一代
指令
main.go 文件可以使用您已经分解到“生成”包中的功能。
所产生的可执行文件的名称go build
将是父目录的名称,所以cmdline
和web
在这个例子中(你想选择更好的名称)。
注意:您实际上没有包cmdline
或web
. 这些目录中的文件都在 [他们自己独立的] package 中main
。
- 1 回答
- 0 关注
- 182 浏览
添加回答
举报
0/150
提交
取消