Gin 是用 Go 编写的高性能 HTTP Web 框架,基于 Radix 树/ httprouter 实现快速路由匹配,强调“高性能、轻量、简洁 API”。提供 中间件、路由分组、参数绑定与验证、多格式渲染等能力,内置 Logger/Recovery,适合构建 RESTful API、微服务 与中小型网站,开发效率高且易于扩展。
核心特性
- 极致性能:前缀树路由,匹配接近 O(1);单核可达每秒数十万次请求。
- 中间件生态:日志、恢复、CORS、限流、认证等,支持全局/分组/单路由。
- 请求处理:路径/查询/表单/JSON/XML 绑定与校验,结构体标签如 binding:”required,email”。
- 路由丰富:REST 方法、路由组、通配符、版本控制。
- 渲染与文件:c.JSON/c.XML/c.HTML,静态文件与上传。
- 易用稳定:链式调用、错误集中处理,社区活跃、生态完善。
快速上手
- 安装:go get -u github.com/gin-gonic/gin
- 示例: r := gin.Default() r.GET(“/ping”, func(c *gin.Context){ c.JSON(200, gin.H{“message”:”pong”}) }) r.Run(“:8080”) 默认启用 Logger/Recovery,访问 /ping 返回 {“message”:”pong”}。