快速开始
安装
TIP
有两种方式可以快速使用
使用
gooze-cli
一键生成一个优雅的 Go 项目结构基于
gooze-starter
按照你的需求和爱好自行创建项目结构
要求
- Go 1.24 或更高版本
安装向导
1. cli 生成
可以使用以下命令创建一个新的 Go 项目:
bash
go install github.com/soryetong/gooze-cli@latest
然后,进入你想存放的项目的目录中,运行以下命令:
bash
gooze-cli init
TIP
如果 go install
成功,却提示找不到 gooze-cli
命令,那么需要先添加环境变量
运行该命令后,会提示你输入项目名、项目类型等,按照提示输入即可
运行完成后,会按照 Go 社区的项目最佳实践来生成一个优雅的 Go 项目结构,并生成相应的代码文件。
关于 gooze-cli
的更多信息,请查看 gooze-cli
🎉 那么当前你的项目结构应该是这样的:
├─ your_project_name
├── api/ # API 描述文件(如 user.api)
│ └── user.api
│
├── build/ # 构建相关脚本(如 Dockerfile、CI 脚本)
│ ├── scripts/ # 启动/部署等辅助脚本(如 build.sh)
│ │ └── gen.sh # 代码生成脚本
│ │ └── start.sh # 项目启动脚本
│ └── docker/ # Dockerfile 或 compose 文件
│
├── cmd/ # 程序入口
│ ├── server/ # 服务入口
│ │ └── main.go
│
├── configs/ # 应用配置文件
│ └── config.yaml # 主配置文件(可配合 .env 使用)
│
├── docs/ # 文档入口
│ ├── swagger/ # Swagger 接口文档
│ │ └── user.yaml
│
├── internal/ # 核心业务代码
│ ├── handler/ # 控制器层(接收请求,返回响应)
│ ├── dto/ # 请求/响应的数据结构
│ ├── router/ # 路由定义
│ ├── service/ # 业务逻辑
│ └── bootstrap/ # 启动逻辑
│
├── pkg/ # 可复用公共组件(非业务相关)
│ ├── model/ # 通用数据库模型
│
├── static/ # 静态资源
│ ├── storage/ # 存放临时文件、用户上传文件、缓存等
│
├── test/ # 单元测试 / 集成测试代码
│
├── .env # 环境变量文件(用于区分本地/测试/生产)
├── .gitignore # Git 忽略文件
├── go.mod # Go 模块定义
├── go.sum # Go 依赖校验文件
└── README.md # 项目说明文档
不认可这个项目结构?
如果你认为 gooze-cli
生成的目录结构你不满意,那你完全可以使用 gooze
自行生成
2. 自行使用
它只需要简单的几步就可以快速创建一个项目
- 初始化你的项目文件夹
bash
go mod init your_project_name
cd your_project_name
- 拉取
gooze
bash
go get -u github.com/soryetong/gooze-starter
- 创建
main.go
go
package main
import (
"github.com/soryetong/gooze-starter"
)
func main() {
gooze.Run()
}
- 更新依赖
bash
go mod tidy
- 其他的目录、文件,你都可以按照你的需求和爱好来创建
此时你运行 go run main.go
就会看到 gooze
的启动页
🎉 那么当前你的项目结构应该是这样的:
├─ your_project_name
│ ├─ .idea
│ ├─ go.sum
│ └─ main.go
│ └─ go.mod