第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 golang 中,使用 net/http 時如何調(diào)用帶和不帶尾括號的函數(shù)

在 golang 中,使用 net/http 時如何調(diào)用帶和不帶尾括號的函數(shù)

Go
人到中年有點甜 2022-01-17 18:06:32
在主函數(shù)中,我有一個 gorilla mux 路由器,以及一個處理路由的函數(shù)。var router = mux.NewRouter()func main() {       router.HandleFunc("/", ParseSlash)    http.Handle("/", router)    http.ListenAndServe(":8000", nil)}ParseSlash 看起來像const slash = `<h1>Login</h1><form method="post" action="/login">  <label for="name">User name</label>  <input type="text" id="name" name="name">  <label for="password">Password</label>  <input type="password" id="password" name="password">  <button type="submit">Login</button></form>`func ParseSlash(response http.ResponseWriter, request *http.Request)  {    fmt.Fprintf(response, slash)}但是,在 main 中,我們不是調(diào)用函數(shù) as ParseSlash(),而是調(diào)用ParseSlashinside router.HandleFunc()。如果我們沒有明確提供,函數(shù)從哪里獲取參數(shù)?這種調(diào)用函數(shù)的方式是什么?謝謝你。
查看完整描述

2 回答

?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗 獲得超5個贊

您不是從 main 中“調(diào)用”該函數(shù),而是將其作為參數(shù)提供給HandleFunc,將其注冊為在mux.Router. 這種提供稍后調(diào)用的函數(shù)的模式通常稱為“回調(diào)”。

你的ParseSlash功能是類型http.HandlerFunc

type HandlerFunc func(ResponseWriter, *Request)

您的函數(shù)最終由http.Servervia 其ServeHTTP方法(此處為通過mux.Router)調(diào)用,并傳遞顯示的參數(shù)。調(diào)用該函數(shù)時,http.ResponseWriter*http.Request參數(shù)用于正在處理的單個 http 請求。


查看完整回答
反對 回復(fù) 2022-01-17
?
手掌心

TA貢獻(xiàn)1942條經(jīng)驗 獲得超3個贊

這是一個簡單的回調(diào)。當(dāng)您想在將來調(diào)用某個函數(shù)時需要它,但現(xiàn)在您沒有足夠的信息來執(zhí)行它???- http.ListenAndServe 創(chuàng)建一個服務(wù)器并等待客戶端。

您不能調(diào)用函數(shù) ParseSlash,因為它在客戶端連接并發(fā)送地址“/”之后才有意義。當(dāng)它發(fā)生時,路由器將有足夠的信息使用參數(shù) http.ResponseWriter 和 *http.Request 調(diào)用您的代碼。

現(xiàn)在您應(yīng)該了解閉包的工作原理 - https://tour.golang.org/moretypes/25。您將完成讓我們返回 http 服務(wù)器https://www.nicolasmerouze.com/middlewares-golang-best-practices-examples/。


查看完整回答
反對 回復(fù) 2022-01-17
  • 2 回答
  • 0 關(guān)注
  • 232 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號