2023-11-21 15:04:30
gin-layout 是一个基于 Gin 框架的 Go 项目脚手架,提供开箱即用的项目结构和基础功能,适合快速启动业务开发。以下是关键内容提炼和操作指南:
核心功能项目初始化
首次运行自动复制示例配置文件(config/config.example.yaml → config.yaml)。
依赖管理:通过 go mod download 下载所需包。
路由示例
提供 /api/v1/hello-world 接口,支持查询参数(如 name=world)。
响应格式统一为 JSON(包含状态码、消息、数据和耗时)。
配置管理
支持 YAML 和 INI 格式配置(示例文件见 config/ 目录)。
配置结构体定义在 config/autoload/ 下(如 app.go、mysql.go)。
中间件
内置常用中间件:CORS、日志记录、异常恢复、请求耗时统计(见 internal/middleware/)。
数据库与缓存
集成 GORM(MySQL)和 go-redis(Redis),初始化代码在 data/ 目录。
日志系统
使用 zap 库,支持日志切割(lumberjack 和 file-rotatelogs)。
拉取代码并运行
git clone测试接口
curl "打包与运行
go build -o cmd/go_layout_linux cmd/main.go # 编译为 Linux 可执行文件./cmd/go_layout_linux -c="/path/to/config.yaml" # 指定配置文件路径进程管理(Supervisor 示例)
[program:go-layout]command=/home/go-layout/go_layout_linux -c=/home/go/config.yamldirectory=/home/go/go-layoutautostart=trueuser=rootstdout_logfile=/home/go/go-layout/supervisord.logNginx 反向代理
server { listen 80; server_name api.example.com; location / { proxy_pass通过 gin-layout,开发者可专注于业务逻辑,避免从零搭建项目的繁琐工作。