跳转到内容

介绍

Gin 是一个用 Go (Golang) 编写的 Web 框架。它拥有类似 Martini 的 API,但性能要好得多,得益于 httprouter,速度快了多达 40 倍。如果你需要高性能和高效开发,你一定会爱上 Gin。

在本节中,我们将介绍 Gin 是什么,它解决了哪些问题,以及它如何帮助你的项目。

或者,如果你已经准备好在项目中使用 Gin,请访问快速入门

基于基数树的路由,内存占用小。无反射。可预测的 API 性能。

传入的 HTTP 请求可以由一系列中间件和最终操作来处理。 例如:日志记录器、授权认证、GZIP 压缩,最终将消息发布到数据库。

Gin 可以捕获 HTTP 请求中发生的 panic 并恢复它。这样,你的服务器将始终可用。例如,还可以将 panic 报告给 Sentry!

Gin 可以解析和验证请求的 JSON——例如,检查必填值是否存在。

更好地组织你的路由。将需要授权和不需要授权的路由分开,区分不同的 API 版本……此外,分组可以无限嵌套而不会降低性能。

Gin 提供了一种便捷的方式来收集 HTTP 请求中发生的所有错误。中间件可以将错误写入日志文件、数据库或通过网络发送。

Gin 提供了简单易用的 API,支持 JSON、XML 和 HTML 渲染。

创建新的中间件非常简单,只需查看示例代码即可。

  • 零分配路由。
  • 仍然是最快的 HTTP 路由器和框架。从路由到写入,全面领先。
  • 完整的单元测试套件。
  • 经过实战检验。
  • API 已冻结,新版本不会破坏你的代码。