这是我参与「第五届青训营 」伴学笔记创作活动的第 11 天
简介
Gin 是一个用 Go 语言编写的web框架,它是一个类似于 Martini 但拥有更好性能的API框架,由于使用了 httprouter,速度提高了近40倍。目前是 Go 生态圈里最流行的 Web 框架之一。
Gin 的历史不算长,是在2014年由 Manu Martinez-Almeida 创建的。它的灵感来源于 Sinatra 和 Martini,但是它更加轻量级和高效。它的特点是支持中间件、路由分组、JSON 验证、渲染等功能。
Gin 适合开发一些需要高性能、高灵活性、轻量级的 web 项目,比如 API 服务、微服务、博客系统等。Gin 框架相比于其他 Go web 框架,如 Beego,更加简单和自由,不过也需要自己封装一些基础服务和模块。
使用
Go 的 Github主页上有一个最小的例子
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "pong",
})
})
r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
以这个例子为基准,已经可以提供一个后端服务器了。不过想要使用其它更高级的功能,还需要看它的文档。文档里面提供了大量的使用案例,包括
总结
我个人非常喜欢这种提供模板的文档,通过其实例,能够直接上手开始写项目