返回 首页

Gin 教程

教程说明:

Gin 是一个用 Go (Golang) 编写的 web 框架。它是一个类似于 martini 但拥有更好性能的 API 框架,由于  httprouter,速度提高了近 40 倍。如果你是性能和高效的追求者,你会爱上 Gin。

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

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

特性

快速

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

支持中间件

传入的 HTTP 请求可以由一系列中间件和最终操作来处理。 例如:Logger,Authorization,GZIP,最终操作 DB。

Crash 处理

Gin 可以 catch 一个发生在 HTTP 请求中的 panic 并 recover 它。这样,你的服务器将始终可用。例如,你可以向 Sentry 报告这个 panic!

JSON 验证

Gin 可以解析并验证请求的 JSON,例如检查所需值的存在。

路由组

更好地组织路由。是否需要授权,不同的 API 版本…… 此外,这些组可以无限制地嵌套而不会降低性能。

错误管理

Gin 提供了一种方便的方法来收集 HTTP 请求期间发生的所有错误。最终,中间件可以将它们写入日志文件,数据库并通过网络发送。

内置渲染

Gin 为 JSON,XML 和 HTML 渲染提供了易于使用的 API。

可扩展性

新建一个中间件非常简单,去查看示例代码吧。


温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录
Gin 介绍
Gin 快速入门
Gin RESTful API
Gin HTML渲染
Gin 获取参数
Gin 路由
Gin 中间件
Gin 参数绑定
Gin 文件上传
Gin 重定向
Gin 设置和获取Cookie
Gin 如何记录日志
Gin 在中间件中使用Goroutine
Gin 绑定HTML复选框
Gin AsciiJSON
Gin HTTP2 server 推送
Gin JSONP
Gin PureJSON
Gin SecureJSON
Gin XML/JSON/YAML/ProtoBuf 渲染
Gin 优雅地重启或停止

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }