gin context和官方context_Gin框架系列01:极速上手
Gin是什么?
Gin是Go語言編寫的web框架,具備中間件、崩潰處理、JSON驗證、內(nèi)置渲染等多種功能。
準(zhǔn)備工作
本系列演示所有代碼都在Github中,感興趣的同學(xué)可以自行查閱,歡迎大家一起完善。
https://github.com/pingyeaa/golang-examples/tree/master/gin沒有安裝配置Go語言環(huán)境的同學(xué)請先自行安裝,這里不再贅述。首先,我們來創(chuàng)建工作目錄gin。
mkdir gin && cd gin然后用go mod命令初始化項目,go mod是Go語言的包管理工具,官方推薦使用,有了它就不再受GOPATH的限制,可以在任何目錄初始化項目。
go mod init gin接下來安裝gin庫。
go get -u github.com/gin-gonic/gin創(chuàng)建演示代碼的入口文件main.go,當(dāng)前項目結(jié)構(gòu)大致如下。
. ├── go.mod ├── go.sum └── main.go編寫代碼
工作準(zhǔn)備就緒之后,來開始今天的代碼編寫,以經(jīng)典代碼hello word為例。
實例化一個gin對象
r := gin.Default()Default方法的主要作用是實例化一個帶有日志、故障恢復(fù)中間件的引擎。
func Default() *Engine {debugPrintWARNINGDefault()engine := New()engine.Use(Logger(), Recovery())return engine }定義請求
定義一個GET請求的路由,參數(shù)一是路由地址,也就是在瀏覽器訪問的相對路徑,參數(shù)二是一個匿名函數(shù),函數(shù)內(nèi)部用于業(yè)務(wù)邏輯處理。
r.GET("/hello", func(c *gin.Context) {})我們就在函數(shù)內(nèi)調(diào)用JSON方法返回數(shù)據(jù)。JSON的操作非常簡單,參數(shù)一是狀態(tài)碼,參數(shù)二是JSON的內(nèi)容。
r.GET("/hello", func(c *gin.Context) {c.JSON(200, gin.H{"msg": "Hello world!",}) })JSON內(nèi)容可以通過gin提供的H方法來構(gòu)建,非常方便。
// H is a shortcut for map[string]interface{} type H map[string]interface{}運(yùn)行
Run方法最終會調(diào)用內(nèi)置http庫的ListenAndServe方法來監(jiān)聽端口,如果不傳參數(shù)默認(rèn)監(jiān)聽80端口,也可以通過參數(shù)來變更地址和端口。
r.Run(":8081")測試
在瀏覽器訪問localhost:8081,如果看到如下提示即成功。
完整代碼
package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default()r.GET("/ping", func(c *gin.Context) {c.JSON(200, gin.H{"msg": "Hello world!",})})r.Run(":8081") }Go語言庫代碼示例,歡迎star https://github.com/pingyeaa/golang-examples
感謝大家的觀看,如果覺得文章對你有所幫助,歡迎關(guān)注公眾號「平也」,聚焦Go語言與技術(shù)原理。
總結(jié)
以上是生活随笔為你收集整理的gin context和官方context_Gin框架系列01:极速上手的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序接入百度统计
- 下一篇: 《绝区零》安东每日邀约及偶遇事件选择建议