解讀Golang的web利器 Gin

2021-08-09 16:19:53 字數 1986 閱讀 1276

其實官方文件寫得已經比較清楚了,基本上看一遍直接可以用了,但畢竟是全英文的,我這裡將它大致簡單翻譯了一下,並加入了一些自己的理解。

gin

首先,安裝很簡單,在gogland的terminal裡敲go get即可,這些公共的包最好放在乙個公共的地方,和工程分離開來,這些都可以在gopath裡設定,這裡就不細說了。

func

main()

上面這段**就實現了restful介面的和url之間的路由,第乙個引數是url,第二個引數是對應的方法。gin會把request和response都封裝到gin.context的上下文環境。最後啟動路由的run方法監聽埠。

param方法

func

main() )

router.run(":8080")

}

通過param方法,可以獲取url中的:***的引數,比如針對上述,如果我的url為/user/john,我就可以通過myparam:= c.param("name")來獲得john這個引數值。

query方法

func

main() )

router.run(":8080")

}

通過query方法,可以針對get請求的顯式引數進行獲取。比如針對上述,如果我的url為/welcome?firstname=jane&lastname=doe,我就可以通過mylastname := c.query("lastname")來獲得jane和doe這些引數值。

postform方法

/* 這是乙個post請求

bind方法是個好東西,它讓我們處理json格式的request變得很方便,如上**,只要我預先在struct裡面打好json的標籤或者form的標籤,bind方法會進行自動引數繫結。c.bindjson(&mylogin)這一步之後,引數值都會放到mylogin這個物件的各個成員中去,接著就可以拿它去做事情了。注意bind方法接受的都是指標引數。.bind()會自動根據request中的content-type去自動推斷是bind表單引數還是json的引數。

middleware中介軟體

中介軟體說簡單點,就是自己可以定義乙個函式,然後可以設定組或者單個,在組裡的這些路由,或者單個路由,在去呼叫處理方法前,都會先去呼叫自己事先定義的函式。一般中介軟體主要用於使用者登入校驗。

總結

python訪問web的利器 urllib2

使用python訪問網頁主要有三種方式 urllib,urllib2,httplib urllib比較簡單,功能相對也比較弱,httplib簡單強大 1.最簡單的頁面訪問 res urllib2.urlopen url print res.read 2.加上要get或post的資料 data url...

golang中的標準庫context解讀

golang 中的建立乙個新的 goroutine 並不會返回像c語言類似的pid,所有我們不能從外部殺死某個goroutine,所有我就得讓它自己結束,之前我們用 channel select 的方式,來解決這個問題,但是有些場景實現起來比較麻煩,例如由乙個請求衍生出的各個 goroutine 之...

移動時代的工作利器 漫畫解讀Vmoso如何協同辦公

面對分散凌亂的企業業務資料,模糊不清的業務進展,懈怠低效的工作情緒,boss們充分認識到僅憑oa和業務處理系統,遠遠不能滿足業務翻番的預期。俗話說 工欲善其事,必先利其器 有這樣一套重在業務知識協同的系統平台叫vmoso,將電子郵件 即時通訊 內容分享 事務流程 社交網路全部整合到一起,內嵌各種可設...