1. 2020最新Gin 中文文档(前言)
哈喽,大家好,我是asong。最近在学习Gin框架。在学习的过程中,一直看英文文档,对于英语渣渣的我来说,很痛苦,就想着给他翻译过来,弄成中文文档,可以提高我们的学习下效率。网上翻译过来的文档有很多,不过都很旧了,许多更新也没有处理,不是很完整。所以我就自己一边学英语、一边翻译了这篇中文文档,现在分享给你们,希望对你们有用。
备注:由于文档是我自己翻译,有错误欢迎指出。
文档已上传个人github:https://github.com/sunsong2020/Golang_Dream/tree/master/Gin/Doc
无水印版本获取:关注公众号:Golang梦工厂,后台回复Gin,即可获取。
2. 2020最新Gin 中文文档
由于文章篇幅限制,这里只能贴部分文档,完整版公众号:Golang梦工厂,后台获取。
目录大纲:
Gin Web 框架
Gin是用Go(Golang)编写的Web框架。他是一个类似于martini但拥有更好性能的API框架,由于httprouter,速度提高了40倍。如果您追求性能和高效的效率,您将会爱上Gin。
安装
在安装Gin包之前,你需要在你的电脑上安装Go环境并设置你的工作区。
- 首先需要安装Go(支持版本1.11+),然后使用以下Go命令安装Gin:
$ go get -u github.com/gin-gonic/gin
- 在你的代码中导入Gin包:
import "github.com/gin-gonic/gin"
- (可选)如果使用诸如
http.StatusOK
之类的常量,则需要引入net/http
包:
import "net/http"
快速开始
# 假设example.go 文件中包含以下代码
$ cat example.go
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
# 运行example.go文件并在浏览器上访问0.0.0.0:8080/ping(windows访问:localhost:8080/ping)
$ go run example.go
API 例子
您可以在Gin示例的仓库中找到许多现成的示例。
使用 GET, POST, PUT, PATCH, DELETE and OPTIONS
func main() {
//使用默认中间件(logger 和 recovery 中间件)创建 gin 路由
router := gin.Default()
router.GET("/someGet", getting)
router.POST("/somePost", posting)
router.PUT("/somePut", putting)
router.DELETE("/someDelete", deleting)
router.PATCH("/somePatch", patching)
router.HEAD("/someHead", head)
router.OPTIONS("/someOptions", options)
// 默认在 8080 端口启动服务,除非定义了一个 PORT 的环境变量。.
router.Run()
// router.Run(":3000") hardcode 端口号
}
路由参数
func main() {
router := gin.Default()
// 这个handler 将会匹配 /user/john 但不会匹配 /user/ 或者 /user
router.GET("/user/:name", func(c *gin.Context) {
name := c.Param("name")
c.String(http.StatusOK, "Hello %s", name)
})
// 但是, 这个将匹配 /user/john/ 以及 /user/john/send
// 如果没有其他路由器匹配 /user/john, 它将重定向到 /user/john/
router.GET("/user/:name/*action", func(c *gin.Context) {
name := c.Param("name")
action := c.Param("action")
mes