介绍
Gin 是一个用 Go (Golang) 编写的 Web 框架。它拥有类似 Martini 的 API,但性能要好得多,得益于 httprouter,速度快了多达 40 倍。如果你需要高性能和高效开发,你一定会爱上 Gin。
在本节中,我们将介绍 Gin 是什么,它解决了哪些问题,以及它如何帮助你的项目。
或者,如果你已经准备好在项目中使用 Gin,请访问快速入门。
基于基数树的路由,内存占用小。无反射。可预测的 API 性能。
传入的 HTTP 请求可以由一系列中间件和最终操作来处理。 例如:日志记录器、授权认证、GZIP 压缩,最终将消息发布到数据库。
Gin 可以捕获 HTTP 请求中发生的 panic 并恢复它。这样,你的服务器将始终可用。例如,还可以将 panic 报告给 Sentry!
JSON 验证
Section titled “JSON 验证”Gin 可以解析和验证请求的 JSON——例如,检查必填值是否存在。
更好地组织你的路由。将需要授权和不需要授权的路由分开,区分不同的 API 版本……此外,分组可以无限嵌套而不会降低性能。
Gin 提供了一种便捷的方式来收集 HTTP 请求中发生的所有错误。中间件可以将错误写入日志文件、数据库或通过网络发送。
Gin 提供了简单易用的 API,支持 JSON、XML 和 HTML 渲染。
创建新的中间件非常简单,只需查看示例代码即可。
Gin v1. 稳定版
Section titled “Gin v1. 稳定版”- 零分配路由。
- 仍然是最快的 HTTP 路由器和框架。从路由到写入,全面领先。
- 完整的单元测试套件。
- 经过实战检验。
- API 已冻结,新版本不会破坏你的代码。