根据开发能力、项目类别、项目需求等,可以选择不同的项目初始化方式。
初始方式描述生成工具借助项目开发脚手架、如 kratos、gozero、osctl 等复制已有项目-从 0-1 实现-生成工具
通过这些脚手架工具,可以快速生成一个 Go 项目模板,并基于生成的项目模板进行开发。
优点:方便、快捷,且能够生成相对高质量的项目模板。
缺点:生成的 Go 项目模板的代码质量、目录结构、代码架构、功能列表及功能构建方式均依赖于工具的实现。
复制已有项目
直接复制一个已有的 Go 项目,然后修改项目的仓库名和 Go 包导入路径,替换与原项目名相关的字符串等方式来初始化一个 Go 项目。这种方式的缺点是改造工作量较大。优点是非常灵活,可以根据需求选择喜欢的 Go 项目,魔改之后,形成自己的 Go 项目。
魔改已有项目为一个新项目时,可以使用 Linux 命令批量修改,修改命令通常如下:- $ cp -a miniblog myproj && cd myproj # 复制 miniblog 项目为新的项目名:myproj
- # 替换 Go 包导入路径
- $ sed -i 's/github.com\/onexstack\/miniblog/github.com\/onexstack\/myproj/g' `grep -Rl github.com/onexstack/miniblog *`
- $ sed -i 's/MiniBlog/MyProj/g' `grep -Rl MiniBlog *` # 替换大写的原项目标识符
- $ sed -i 's/miniblog/myproj/g' `grep -Rl miniblog *` # 替换所有的 miniblog 项目标识符
- # 查找并将 miniblog 目录改成新的项目名 myproj
- $ find . -type d -name 'miniblog' -execdir mv {} myproj \;
- $ make build
复制代码 来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |