91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go Web框架gin的安裝和使用方法

發布時間:2021-09-06 16:54:08 來源:億速云 閱讀:135 作者:chen 欄目:編程語言

這篇文章主要介紹“Go Web框架gin的安裝和使用方法”,在日常操作中,相信很多人在Go Web框架gin的安裝和使用方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Go Web框架gin的安裝和使用方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

安裝gin

直接使用 go get github.com/gin-gonic/gin 即可。

官方README中提供了非常多的例子。例如最簡單的實例代碼:

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
}

路由

router := gin.Default() // 默認是帶有Logger和Recovery中間件的
router := gin.New() // 不帶中間件的路由
router.Use(gin.Logger()) // 可以使用這種方式來指明中間件
router.GET("/test", MyMiddleware(), testEndpoint) // 也可以用這種方式給指定路由添加中間件
router.GET("/someGet", getting) // 支持所有Restful的操作
// 帶參數的路由
router.GET("/user/:name", func(c *gin.Context) {
 name := c.Param("name")
})

// 參數可選/通配符功能
router.GET("/user/:name/*action", ...)

// 路由分組
v1 := router.Group("/v1")
{
  v1.POST("/login", loginEndpoint)
  v1.POST("/submit", submitEndpoint)
}
v1.Use(AuthRequired()) {} // 路由分組單獨指定中間件

請求與響應

請求

// 獲取路由參數,假設有路由為"/user/:name"
c.Params.ByName("name")

// 獲取query參數
c.Query("name")
c.DefaultQuery("name", "Guest")

// 獲取表單參數
c.PostForm("name")
c.DefaultPostForm("name")

參數綁定

請求驗證

響應

// 返回簡單的字符串
c.String(200, "pong")

// 返回JSON數據
c.JSON(200, gin.H{
  "message": "pong",
})

// 重定向
c.Redirect(http.StatusMovedPermanently, "https://google.com")

中間件

自定義中間件

BasicAuth中間件

異步協程

gin可以借助協程來實現異步任務,但是這時候得手動copy上下文,并且只能是可讀取的。

router.GET("/async", func(c *gin.Context) {
  cCp := c.Copy()
  go func() {
    time.Sleep(5 * time.Second)
    log.Println("Done! in path" + cCp.Request.URL.Path)
  }()
})

到此,關于“Go Web框架gin的安裝和使用方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洪雅县| 肥城市| 句容市| 水城县| 开原市| 葫芦岛市| 图们市| 包头市| 清原| 淮阳县| 巴林右旗| 格尔木市| 永康市| 泾源县| 双辽市| 镇康县| 合肥市| 宜宾县| 长顺县| 海原县| 太仓市| 云霄县| 县级市| 司法| 霸州市| 姚安县| 尼勒克县| 鸡东县| 陇南市| 南川市| 南康市| 长宁区| 精河县| 万源市| 六安市| 大同县| 财经| 广水市| 邵阳市| 科技| 昆山市|