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

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

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

Go
慕田峪7331174 2021-11-08 15:59:58
我在玩 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将是父目录的名称,所以cmdlineweb在这个例子中(你想选择更好的名称)。

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


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

    添加回答

    举报

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