golang中文文档_2020最新Gin框架中文文档

365f8c6dde357d58d81bf404cf477b7c.png

1. 2020最新Gin 中文文档(前言)

哈喽,大家好,我是asong。最近在学习Gin框架。在学习的过程中,一直看英文文档,对于英语渣渣的我来说,很痛苦,就想着给他翻译过来,弄成中文文档,可以提高我们的学习下效率。网上翻译过来的文档有很多,不过都很旧了,许多更新也没有处理,不是很完整。所以我就自己一边学英语、一边翻译了这篇中文文档,现在分享给你们,希望对你们有用。

备注:由于文档是我自己翻译,有错误欢迎指出。

文档已上传个人github:https://github.com/sunsong2020/Golang_Dream/tree/master/Gin/Doc

无水印版本获取:关注公众号:Golang梦工厂,后台回复Gin,即可获取。

2. 2020最新Gin 中文文档

由于文章篇幅限制,这里只能贴部分文档,完整版公众号:Golang梦工厂,后台获取。

目录大纲:

9e0e9ca4da2ef6232688473d5478ac7f.png

acbcf365c1b32152663fa50879f61514.png

bd9fd0f3c977007ad7d190fe1da24fed.png

Gin Web 框架

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

安装

在安装Gin包之前,你需要在你的电脑上安装Go环境并设置你的工作区。

  1. 首先需要安装Go(支持版本1.11+),然后使用以下Go命令安装Gin:
$ go get -u github.com/gin-gonic/gin
  1. 在你的代码中导入Gin包:
import "github.com/gin-gonic/gin"
  1. (可选)如果使用诸如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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值