




在本文中,我将为您介绍 Gin是什么,以及开始一个hello world的入门案例。

Gin简介
Gin是一个用Go语言(Golang) 编写的HTTP Web框架。官方称,Gin具有类似martini的API,具有更好的性能,由于httprouter ,其速度提高了40 倍。
如果您的后端服务需要具备性能及良好的生产力,您可以选用这款框架。借助该框架,可节省更多的开发时间,另外,由于Gin本身API封装对用户友好,也更加有利于开发者团队快速构建自己的应用。

■ ■■■■
● 快速:基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能。
● 支持中间件:传入的 HTTP 请求可以由一系列中间件和最终操作来处理。例如:Logger,Authorization,GZIP,最终操作 DB。
● Crash 处理:Gin 可以 catch 一个发生在 HTTP 请求中的 panic 并 recover 它。这样,你的服务器将始终可用。例如,你可以向 Sentry 报告这个 panic!
● JSON 验证:Gin可以解析并验证请求的JSON,例如检查所需值的存在。
● 路由分组:更好地组织您的路由。您可以借助路由分组,实现哪些API需要授权,或者可以为API声明不同版本…… 此外,路由分组可以无限制地嵌套而不会降低性能。
● 错误管理:Gin 提供了一种方便的方法来收集 HTTP 请求期间发生的所有错误。最终,中间件可以将它们写入日志文件,数据库并通过网络发送它们。
● 内置渲染:Gin为JSON,XML和HTML渲染提供了各自易于使用的API。
● 可扩展性:创建一个中间件非常简单。

■ ■■■■

hello world起步
这里,我们通过一个hello world案例来入门Gin。(温馨提示:在开始所有工作之前,请您想安装好Golang,并设置好您的Go工作区)。
1、在命令终端中,使用下面的命令下载并安装Gin框架:
go get -u github.com/gin-gonic/gin
2、在您的Go工作区创建一个main.go文件
touch main.go
3、在文件中编写如下代码:
package mainimport ("net/http""github.com/gin-gonic/gin")func main() {r := gin.Default() // 初始化一个http服务对象r.GET("/hi", func(c *gin.Context) {// 通过请求上下文对象Context, 直接往客户端返回一个jsonc.JSON(http.StatusOK, gin.H{"message": "hello world",})})r.Run() // listen and serve on 0.0.0.0:8080}
4、您可以通过go run main.go运行代码:
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.- using env: export GIN_MODE=release- using code: gin.SetMode(gin.ReleaseMode)[GIN-debug] GET /hi --> main.main.func1 (3 handlers)[GIN-debug] Environment variable PORT is undefined. Using port :8080 by default[GIN-debug] Listening and serving HTTP on :8080

与此同时,您将在运行终端中看到一个终端日志:
[GIN] 2021/10/13 - 10:47:36 | 200 | 109.2µs | 127.0.0.1 | GET "/hi"
至此,恭喜您已经成功运行了一个hello world的API。
gin.SetMode(gin.ReleaseMode) // 设置 release模式gin.SetMode(gin.DebugMode) // 或者 设置debug模式
■ ■■■■

总结
本文主要为您介绍了Gin是一款Go的HTTP Web框架,以及它的 xxx 等特性,正是由于这些特性,对于开发这来说是一款不错的框架。接着为您介绍了一个hello world的入门案例,通过这个例子,您可以更好的看到Gin框架如何使用。在您运行代码的时候,您可以清楚看到终端日志中输出了当前所有的运行模式为debug模式,该模式在开发环境使用居多,生产环境不建议使用,推荐使用release模式,文中也为您说明了设置的方法。
后续,我将为您逐步介绍Gin的一些其他教程,敬请期待~~。

长按二维码关注我们吧
不要错过





