Go-Mod-Bootstrap 简介
go-mod-bootstrap
是一个基于 Go Modules 的轻量级项目脚手架/启动模板,旨在帮助开发者快速初始化规范的 Go 项目结构。
核心特性
标准化项目结构:
├── cmd/ # 主应用程序目录 ├── configs/ # 配置文件 ├── internal/ # 私有应用代码 │ ├── controller/ # MVC控制器 │ ├── service/ # 业务逻辑层 │ └── repository/ # 数据访问层 ├── pkg/ # 可复用的公共库 ├── go.mod # Go模块定义文件 └── main.go # 程序入口
内置功能集成:
- Viper配置管理(支持YAML/JSON)
- Zap日志系统(高性能结构化日志)
- Wire依赖注入(编译时DI)
- Cobra命令行工具集成
开发工具链:
# Makefile常用命令示例:
make run # 启动开发模式(带热重载)
make build # 构建生产二进制文件
make test # 运行单元测试
make lint # 静态代码检查
快速开始
- 安装模板:
go get github.com/[owner]/go-mod-bootstrap@latest
- 初始化项目:
# GOPATH外创建新项目目录后执行:
go mod init your-project-name
curl -L https://github.com/[owner]/go-mod-bootstrap/template.tar.gz | tar xz --strip-components=1
- 典型main.go结构:
package main
import (
"your-project/internal/app"
"go.uber.org/zap"
)
func main() {
// 初始化应用实例
application, cleanup, err := app.InitializeApplication()
if err != nil {
zap.L().Fatal("初始化失败", zap.Error(err))
}
defer cleanup()
// 启动服务...
}
GitHub资源
参考实现项目地址:
https://github.com/sagikazarmark/modern-go-application
(注:实际使用时请根据需求选择合适的bootstrap模板)
内容由零声教学AI助手提供,问题来源于学员提问