StreamBox/docs/README.md

48 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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