golang gin入門資料

2021-10-02 17:30:46 字數 1457 閱讀 8474

官網文件

乙個例項

gin是乙個用go寫成的http伺服器。他像martini-like,但是比其快了40倍。如果想體驗極速,開始使用gin吧。

初看專案在github裡面star 34.7k。

安裝golang 1.11+

go get -u github.com/gin-gonic/gin
最簡單的例子

}官方的例項例項

介紹基於radix tree路由, 更小記憶體消耗。沒有反射。

傳入的http請求可以由一系列中介軟體和最終操作處理。例如需要post db中的資料,可以通過logger, authorization, gzip中介軟體。

gin能catch住http請求處理中的問題。這樣你的伺服器將會一直都執行。例如,可以將錯誤資訊**給哨兵。

json validation

gin能將json方式的請求,解析出來。例如能檢測請求的資料值是否存在。

routes grouping

讓你更好的組織路由。不同版本的api,是否需要校驗。。。在這種情況,the grouping能被無限制的巢狀到其中,並且不造成任何的效率的降低。

error management

gin提供了便利的方式,收集任何在http請求處理過程中的發生的錯誤。最終,中介軟體將會把著一些資訊寫入乙個日誌中,或者通過網路寫入到db中。

rendering built-in

gin提供了rendering api為json,xml,html。

extendable

擴充套件性。你可以去通過學習sample**,很容易掌握如何編寫新的中介軟體。

特性gin v1 stable features

0分配路由

最快的靜態路由框架;

完整單元測試套件;

被實戰檢驗過;

api凍結,新的發布不會造成對你的**的破壞;

jsoniter,可以通過命令列來修改json包。

go build -tags=jsoniter .

golang gin框架獲取引數

get請求引數通過url傳遞 url引數可以通過defaultquery 或query 方法獲取 defaultquery 若引數不存在,返回預設值,query 若引數不存在,返回空串 user id com.strto ctx.query user id mustint64 page com.st...

golang gin 伺服器部署

golang使用gin開發完畢後,切不可直接執行或者使用go run go這種形式,比較正規的做法是,利用linux的服務去管理,不然ssh一退出,就停止了。簡略流程如下 build出乙個可執行檔案 寫乙個sh檔案,用來執行這個檔案 配置service啟動 其他配置 反向 ssl證書等 下面具體敘述...

golang gin 中常用中介軟體

在gin的整個實現中,中介軟體可謂是gin的精髓。乙個個中介軟體組成一條中介軟體鏈,對http request請求進行攔截處理,實現了 的解耦和分離,並且中介軟體之間相互不用感知到,每個中介軟體只需要處理自己需要處理的事情即可。gin中常用的中介軟體是 在gin中,我們可以通過gin提供的預設函式,...