首頁 >後端開發 >Golang >gin框架有什麼優勢

gin框架有什麼優勢

藏色散人
藏色散人轉載
2020-09-16 09:38:076002瀏覽

以下由golang教學專欄為大家介紹gin框架的優勢,希望對需要的朋友有幫助!

gin框架有什麼優勢

gin和django對比

中間件

利用函數呼叫堆疊後進先出的特點,巧妙的完成中間件在自訂處理函數完成的後處理的操作。

django它的處理方式是定義個類,請求處理前的處理的定義一個方法,請求處理後的處理定義一個方法。

gin的方式更靈活,但django的方式更清晰。

請求參數綁定

對於取得請求內容,在模型綁定當中,有以下的場景

    ##綁定失敗是使用者自己處理或框架統一進行處理
  • 使用者需是否需要關心請求的內容選擇不同的綁定器
在gin框架的對於這些場景給出的答案是:提供不同的方法,滿足以上的需求。這裡的關鍵點還是在於使用場景是怎麼樣的。

// 自动更加请求头选择不同的绑定器对象进行处理
func (c *Context) Bind(obj interface{}) error {
    b := binding.Default(c.Request.Method, c.ContentType())
    return c.MustBindWith(obj, b)
}

// 绑定失败后,框架会进行统一的处理
func (c *Context) MustBindWith(obj interface{}, b binding.Binding) (err error) {
    if err = c.ShouldBindWith(obj, b); err != nil {
        c.AbortWithError(400, err).SetType(ErrorTypeBind)
    }

    return
}

// 用户可以自行选择绑定器,自行对出错处理。自行选择绑定器,这也意味着用户可以自己实现绑定器。
// 例如:嫌弃默认的json处理是用官方的json处理包,嫌弃它慢,可以自己实现Binding接口
func (c *Context) ShouldBindWith(obj interface{}, b binding.Binding) error {
    return b.Bind(c.Request, obj)
}

以上是gin框架有什麼優勢的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除