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

Mak*_*poc 1 go

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

我应该把两个命令行的输入点以及网页UI到自己的包在同一个项目(叶根空).或者我可能应该将实际的生成库移动到单独的包中的根和UI.我猜的另一种选择是有用户界面在GitHub上单独的项目,但他们只打算用于此库,所以它似乎并不像一个好主意.

我记得在一些名为cmd的项目包中看过,但我从未遇到过一个有多个前端的软件包.这样做是否有一种go(-gettable-)方式?

zmb*_*zmb 5

我同意,如果它们仅用于此库,则制作单独的项目/存储库没有多大意义.我只有一个cmd目录,其中包含您正在构建的每个可执行文件的子目录.

像这样的东西:

  • github.com/user/project
    • CMD
      • CMDLINE
        • main.go
      • 卷筒纸
        • main.go

main.go文件可以使用您已经分解到"generation"包中的功能.

所产生的可执行文件的名称go build将是父目录的名称,所以cmdlineweb在这个例子中(你想选择更好的名称).

注意:您实际上没有包cmdlineweb.这些目录中的文件都将在[他们自己的单独]包中main.