![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SMwQmYjZjMzYGZjdjYxEWZ2czNidjMkNDO5YmZyIGNh9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
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
二、gin路由
gin架構采用的路由是基于httprouter做的,gin支援Restful風格的API。
1、通過Context的Param方法擷取API參數func
2、通過DefaultQuery()或Query方法擷取URL參數 r
首先建立一個html:
<!DOCTYPE html>
直接run起來,然後通過PostForm()方法擷取表單參數:
package
<!DOCTYPE html>
在浏覽器中打開,然後運作:
package
routes group就是為了管理一些相同的URL。
package
httproter會将所有的路由規則構造一顆字首樹。
三、gin資料解析和綁定
1、json資料解析和綁定用戶端傳參,後端接收并解析得到結構體。
package
<
然後執行:
package
package
四、gin渲染
1、各種資料格式的響應package
json響應
struct響應
xml響應
yaml響應
protobuf響應
gin支援加載HTML模闆,然後根據響應的模闆參數進行配置并傳回響應的資料,本質上就是字元串替換。
LoadHTMLGlob()方法可以加載模闆檔案。
index.tmpl
<
使用HTML模闆進行渲染:
package
package
4、同步異步 goroutine可以很友善地實作異步處理,另外,在啟動goroutine時,不應該使用原始上下文,必須使用它的隻讀副本。
package
五、gin中間件
- gin可以建構中間件,但是它隻對注冊過的路由函數起作用
- 對于分組路由,嵌套使用中間件
- 中間件分為全局中間件、單個路由中間件和群組中間件
- gin中間件必須是一個gin HandlerFunc類型
package
// 局部中間件
3、中間件小練習 定義程式計時中間件,然後定義2個路由,執行函數後列印統計時間。
package
我是尾巴~
每日一句毒雞湯:有時候就是這樣,嘴上說了不可能,但心裡卻早已想好了千萬種可能!
本次推薦:PDF全文翻譯網站
Free Online Document Translator - Preserves your document's layout (Word, PDF, Excel, Powerpoint, OpenOffice, text)www.onlinedoctranslator.com
繼續加油~!