Skip to content

快速开始

安装

TIP

有两种方式可以快速使用

  1. 使用 gooze-cli 一键生成一个优雅的 Go 项目结构

  2. 基于 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. 自行使用

它只需要简单的几步就可以快速创建一个项目

  1. 初始化你的项目文件夹
bash
go mod init your_project_name

cd your_project_name
  1. 拉取 gooze
bash
go get -u github.com/soryetong/gooze-starter
  1. 创建 main.go
go
package main

import (
	"github.com/soryetong/gooze-starter"
)

func main() {
	gooze.Run()
}
  1. 更新依赖
bash
go mod tidy
  1. 其他的目录、文件,你都可以按照你的需求和爱好来创建

此时你运行 go run main.go 就会看到 gooze 的启动页

Gooze Starter

🎉 那么当前你的项目结构应该是这样的:

├─ your_project_name
│  ├─ .idea
│  ├─ go.sum
│  └─ main.go
│  └─ go.mod

基于 MIT 许可发布