Skip to content
鼓励作者:欢迎打赏犒劳

项目结构 ​

web项目:https://github.com/coder-lzh/go-web-demo

shell
system/
├── main.go
├── go.mod
├── go.sum
├── Makefile
├── .env.example
├── .gitignore
│
├── configs/                              # 配置文件
│   ├── config.yaml                       # 基础配置(所有环境通用)
│   ├── config.dev.yaml                   # 开发环境配置
│   ├── config.prod.yaml                  # 生产环境配置
│   └── config.local.yaml                 # 本地环境配置(最高优先级)
│
├── docs/                                 # swag init 生成
│   ├── docs.go
│   ├── swagger.json
│   └── swagger.yaml
│
├── internal/                             # 私有代码
│   ├── common/                           # ★ 公共组件(枚举、常量、通用工具)
│   │   ├── constants/                    # 常量定义
│   │   │   ├── status.go                 # 状态常量
│   │   │   └── error_code.go             # 错误码常量
│   │   ├── enums/                        # 枚举定义
│   │   │   ├── order_status.go           # 订单状态枚举
│   │   │   └── user_role.go              # 用户角色枚举
│   │   └── response/                     # 统一响应格式
│   │       └── response.go
│   │
│   ├── config/                           # 配置加载
│   │   └── config.go
│   │
│   ├── domain/                           # 核心领域模型(业务对象 + 行为)
│   │   ├── order.go
│   │   └── user.go
│   │
│   ├── model/                            # 数据库表映射(Entity/DO)
│   │   ├── order.go
│   │   └── user.go
│   │
│   ├── dto/                              # API入参出参
│   │   ├── order.go
│   │   └── user.go
│   │
│   ├── repository/                       # 数据访问层
│   │   ├── order.go
│   │   └── user.go
│   │
│   ├── service/                          # 业务逻辑层
│   │   ├── order.go
│   │   └── user.go
│   │
│   ├── handler/                          # 控制器层
│   │   ├── order.go
│   │   └── user.go
│   │
│   ├── middleware/                       # ★ 中间件
│   │   ├── auth.go                       # JWT鉴权
│   │   ├── logger.go                     # 日志中间件
│   │   └── cors.go                       # 跨域处理
│   │
│   ├── router/                           # 路由注册
│   │   └── router.go
│   │
│   └── utils/                            # ★ 工具函数
│       ├── crypto.go                     # 加密工具
│       ├── time.go                       # 时间工具
│       ├── validator.go                  # 验证工具
│       └── convert.go                    # 类型转换工具
│
├── scripts/                              # 脚本
│   ├── build.sh
│   └── deploy.sh
│
└── test/                                 # 测试
    ├── integration/                      # 集成测试
    └── unit/                             # 单元测试

如有转载或 CV 的请标注本站原文地址