通过这些脚手架工具,可以快速生成一个 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 *` # 替换大写的原项目标识符