亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

gin相比原生net/http優勢

老師同學們好,想請問一下gin相當于封裝了原生的net/http,相比原生的net/http有哪些優勢,哪些方面給大家帶來了方便。謝謝。

正在回答

2 回答

http庫只是基本的架子,還缺少很多問題。Gin進一步封裝,讓我們能更快使用——比如,http中的http.Request

.Body只會讀一次,第二次是讀不到的,然后你使用的話需要自己保存;但是用Gin后,它會幫你做好保存讓你直接使用,這樣更加符合開發的邏輯??傊?,Gin就是彌補了原生http庫的不足,并且這些補充都是適用了的最佳實踐方式。

```go

func readBodyOnce(w http.ResponseWriter, r *http.Request) ?{

? ? body, err := io.ReadAll(r.Body)

? ? if err != nil {

? ? ? ? fmt.Fprintf(w, "read body failed: %v", err)

? ? ? ? // 記住要返回,不然就還會執行后面的代碼

? ? ? ? return

? ? }

? ? // 類型轉換,將 []byte 轉換為 string

? ? fmt.Fprintf(w, "read the data: %s \n", string(body))


? ? // 嘗試再次讀取,啥也讀不到,但是也不會報錯

? ? body, err = io.ReadAll(r.Body)

? ? if err != nil {

? ? ? ? // 不會進來這里

? ? ? ? fmt.Fprintf(w, "read the data one more time got error: %v", err)

? ? ? ? return

? ? }

? ? fmt.Fprintf(w, "read the data one more time: [%s] and read data length %d \n", string(body), len(body))

}

```




0 回復 有任何疑惑可以回復我~

反正快就對了

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

gin相比原生net/http優勢

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號