猿问

具有多个 UI 的工具的项目结构

我在玩 golang 并制作了一个密码生成工具。最初它打算用作命令行工具。后来我将生成逻辑分离到一个单独的包中(仍然是同一个github存储库),并将main函数留在项目的根目录中。现在我还想添加一个简单的 Web 前端(没什么特别的),但我不知道如何构建包。

我是否应该将命令行入口点和 Web UI 放入同一个项目中它们自己的包中(使根为空)。或者也许我应该将实际的生成库移动到单独的包中的根和 UI。我想另一种选择是在 github 上的单独项目中使用 UI,但它们只会用于这个库,所以这似乎不是一个好主意。

我记得在一些名为 cmd 的项目中看到过包,但我从来没有遇到过有多个前端的包。有没有一种 go(-gettable-) 方法可以做到这一点?


慕田峪7331174
浏览 183回答 1
1回答

千巷猫影

我同意如果它们只用于这个库,那么制作单独的项目/存储库没有多大意义。cmd对于您正在构建的每个可执行文件,我只会有一个带有子目录的目录。像这样的东西:github.com/用户/项目命令行网络main.gomain.go一代指令main.go 文件可以使用您已经分解到“生成”包中的功能。所产生的可执行文件的名称go build将是父目录的名称,所以cmdline和web在这个例子中(你想选择更好的名称)。注意:您实际上没有包cmdline或web. 这些目录中的文件都在 [他们自己独立的] package 中main。
随时随地看视频慕课网APP

相关分类

Go
我要回答