简介
Gin 是用 Go(Golang)编写的 Web 框架。它具有类似 Martini 的 API,但性能更好,得益于 httprouter,速度提升了 40 倍。如果您需要性能和良好的生产力,您会喜欢 Gin。
在本节中,我们将了解 Gin 是什么、它解决了哪些问题以及它如何帮助您的项目。
或者,如果您已准备好将 Gin 用于您的项目,请访问 快速入门。
功能
快速
基于基数树的路由,占用内存小。无反射。可预测的 API 性能。
支持中间件
传入的 HTTP 请求可以由一系列中间件和最终操作处理。例如:记录器、授权、GZIP,最后在数据库中发布消息。
无崩溃
Gin 可以捕获在 HTTP 请求期间发生的恐慌并恢复它。这样,您的服务器将始终可用。例如,还可以将此恐慌报告给 Sentry!
JSON 验证
Gin 可以解析和验证请求的 JSON - 例如,检查所需值的有效性。
路由分组
更好地组织您的路由。需要授权与不需要授权,不同的 API 版本…此外,组可以无限嵌套,而不会降低性能。
错误管理
Gin 提供了一种便捷的方法来收集在 HTTP 请求期间发生的所有错误。最终,中间件可以将它们写入日志文件、数据库并通过网络发送它们。
内置渲染
Gin 提供了一个易于使用的 API,用于 JSON、XML 和 HTML 渲染。
可扩展
创建新的中间件非常容易,只需查看示例代码。