Gin 官方长期强调两件事:
- 写起来顺手
- 跑起来很快
它的气质很像:
把 Express 那种“很容易开始写接口”的体验,搬到 Go 的性能和并发模型上。
你可以把 Gin 的吸引力拆成这几层:
| 你看到的现象 | 本质上发生了什么 |
|---|---|
r.GET("/ping", ...) 很简洁 |
路由系统帮你把“路口 + 方法 + 处理员”登记好了 |
c.JSON(...) 很方便 |
响应序列化和 header 细节被中枢封装了 |
r.Use(...) 很自然 |
请求会按链路经过多个检查站 |
ShouldBindJSON 很好用 |
证件扫描和字段校验被接进流程里了 |
| Gin 很快 | 路由和请求处理链路做得比较轻,底层走高性能路由树 |
但你要同时明白一件事:
Gin 是 Web 框架,不是全家桶后端平台。
它默认不会替你提供:
- ORM
- 依赖注入框架
- 完整权限系统
- 限流系统
- 任务队列
- 数据库迁移体系
也就是说,Gin 是一座很高效的交通中枢,不是整座城市政府。