Gin 简介
Gin 是 Golang 的一个微框架,封装比较优雅,API 友好,源码注释比较明确。具有快速灵活,容错方便等特点。其实对于 Golang 而言,Web 框架的依赖要远比 Python,Java 之类的要小。自身的 net/http 足够简单,性能也非常不错。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。下面我们将具体介绍 Gin 的使用实践。
Gin特征
Gin特征:
1.速度快:基于基数树的路由,内存占用少。没有反射。可预测的API性能。
中间件支持:传入的HTTP请求可以由中间件链和最终操作处理。
2.Crash—free
Gin可以捕获HTTP请求期间发生的panic并恢复它。这样,你的服务器将始终可用。
3.JSON验证
Gin可以解析和验证请求的JSON-例如,检查所需值的存在
4.路由分组
更好地组织您的路线。需要授权与不需要授权,不同的API版本…此外,组可以无限嵌套,而不会奖低性能。
错误管理
5.Gin提供了一种方便的方法来收集HTTP请求期间发生的所有错误。最终,中间件可以将它们写入日志文件、数据库并通过网络发送它们。
6.内置渲染
Gin为JSON、XML和HTML渲染提供了一个易于使用的API
7.可扩展
创建一个新的中间件非常简单,只需查看示例代码即可
Gin安装
go get -u github.com/gin-gonic/gin
示例
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
// 1.创建路由
r := gin.Default()
// 2.绑定路由规则,执行的函数
// gin.Context,封装了request和response
r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "hello World!")
})
// 3.监听端口,默认在8080
// Run("里面不指定端口号默认为8080")
r.Run(":8000")
}
将上面的代码保存并编译执行,然后使用浏览器打开127.0.0.1:8080/hello就能看到一串JSON字符串。