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 的请标注本站原文地址