2.2 KiB
2.2 KiB
Go + Gin 开发教程
基于本项目 StreamBox(Go 1.26.2 + Gin v1.12.0)编写的系统化教程,从零搭建到生产部署。
适用人群
- 有任意一门编程语言基础,想系统学习 Go
- 想用 Gin 快速开发 RESTful API 的后端开发者
- 想看懂/维护本项目
StreamBox代码的同学
目录
| 章节 | 主题 | 核心内容 |
|---|---|---|
| 第 1 章 | Go 环境与基础语法 | 安装、go mod、变量/类型/流程/函数/结构体/接口/错误处理 |
| 第 2 章 | Go 进阶:并发与工程化 | goroutine/channel/context/sync、测试、常用工具链 |
| 第 3 章 | Gin 入门 | 为什么选 Gin、Hello World、与 net/http 对比、项目初始化 |
| 第 4 章 | Gin 路由与分组 | 路由定义、路径参数、查询参数、分组、RESTful 设计 |
| 第 5 章 | Gin 中间件 | 原理、自定义、全局/分组/路由级、Recovery/Logger/CORS、鉴权 |
| 第 6 章 | 请求绑定与响应 | 参数绑定、校验、统一响应、错误处理 |
| 第 7 章 | 实战:StreamBox 项目解析 | 分层架构、配置、日志、优雅关闭、完整 CRUD 示例 |
| 第 8 章 | 部署与进阶 | 编译、Docker、生产配置、性能与下一阶段学习路线 |
如何阅读
- 按顺序阅读,第 1-2 章打 Go 基础,第 3-6 章掌握 Gin,第 7 章对照本项目源码,第 8 章上线。
- 每章末尾有“动手练习”,建议敲一遍。
- 本教程所有代码均可在本仓库直接运行:
make run启动,curl http://localhost:8080/health验证。
快速开始
# 克隆后直接运行
make tidy
make run
# 验证
curl http://localhost:8080/health
# => {"code":0,"msg":"success","data":{"status":"ok"}}
curl http://localhost:8080/api/v1/ping
# => {"code":0,"msg":"success","data":{"message":"pong"}}
约定:教程中
streambox为 module 名(见go.mod),示例代码可直接复制到本项目中运行。