天天看點

go post 參數_Go語言基礎(十八)

go post 參數_Go語言基礎(十八)

Go語言基礎(十八)

一、gin介紹

二、gin路由

三、gin資料解析與綁定

四、gin渲染

五、gin中間件

一、gin介紹

Go 語言最流行了兩個輕量級 Web 架構分别是 Gin 和 Echo。gin是一個golang的微架構,封裝比較優雅,API友好,源碼注釋明确。gin架構是Go語言進行web開發(api開發,微服務開發)架構中。

1、gin安裝
go 
           
2、hello world
package 
           

在浏覽器打開http://localhost:8000

go post 參數_Go語言基礎(十八)

二、gin路由

gin架構采用的路由是基于httprouter做的,gin支援Restful風格的API。

1、通過Context的Param方法擷取API參數
func 
           
2、通過DefaultQuery()或Query方法擷取URL參數
r
           
go post 參數_Go語言基礎(十八)
3、通過PostForm()方法擷取表單參數

首先建立一個html:

<!DOCTYPE html>
           

直接run起來,然後通過PostForm()方法擷取表單參數:

package 
           
go post 參數_Go語言基礎(十八)
go post 參數_Go語言基礎(十八)
4、上傳檔案
<!DOCTYPE html>
           

在浏覽器中打開,然後運作:

package 
           
go post 參數_Go語言基礎(十八)
go post 參數_Go語言基礎(十八)
5、routes group

routes group就是為了管理一些相同的URL。

package 
           
go post 參數_Go語言基礎(十八)
6、路由原理

httproter會将所有的路由規則構造一顆字首樹。

三、gin資料解析和綁定

1、json資料解析和綁定

用戶端傳參,後端接收并解析得到結構體。

package 
           
go post 參數_Go語言基礎(十八)
2、表單資料綁定與解析
<
           

然後執行:

package 
           
go post 參數_Go語言基礎(十八)
3、URL資料綁定與解析
package 
           
go post 參數_Go語言基礎(十八)

四、gin渲染

1、各種資料格式的響應
package 
           
go post 參數_Go語言基礎(十八)

json響應

go post 參數_Go語言基礎(十八)

struct響應

go post 參數_Go語言基礎(十八)

xml響應

go post 參數_Go語言基礎(十八)

yaml響應

go post 參數_Go語言基礎(十八)

protobuf響應

go post 參數_Go語言基礎(十八)
2、HTML模闆渲染

gin支援加載HTML模闆,然後根據響應的模闆參數進行配置并傳回響應的資料,本質上就是字元串替換。

LoadHTMLGlob()

方法可以加載模闆檔案。

index.tmpl

<
           

使用HTML模闆進行渲染:

package 
           
go post 參數_Go語言基礎(十八)
3、重定向
package 
           
4、同步異步

goroutine可以很友善地實作異步處理,另外,在啟動goroutine時,不應該使用原始上下文,必須使用它的隻讀副本。

package 
           

五、gin中間件

  • gin可以建構中間件,但是它隻對注冊過的路由函數起作用
  • 對于分組路由,嵌套使用中間件
  • 中間件分為全局中間件、單個路由中間件和群組中間件
  • gin中間件必須是一個gin HandlerFunc類型
1、全局中間件
package 
           
go post 參數_Go語言基礎(十八)
go post 參數_Go語言基礎(十八)
2、局部中間件
// 局部中間件
           
3、中間件小練習

定義程式計時中間件,然後定義2個路由,執行函數後列印統計時間。

package 
           
go post 參數_Go語言基礎(十八)

我是尾巴~

每日一句毒雞湯:有時候就是這樣,嘴上說了不可能,但心裡卻早已想好了千萬種可能!

本次推薦:PDF全文翻譯網站

Free Online Document Translator - Preserves your document's layout (Word, PDF, Excel, Powerpoint, OpenOffice, text)​www.onlinedoctranslator.com

繼續加油~!