我是一名 Golang 初學者,我已經(jīng)學習了幾天了。我已經(jīng)學習了大量它的語法并開始適應它。今天我偶然發(fā)現(xiàn)了下面 Go 中的一個片段log.Fatal(http.ListenAndServe(":3000", handlers.CORS(originsOk, headersOk,
methodsOk)(router)))具有ListernAndServe以下簽名func ListenAndServe(addr string, handler Handler) error現(xiàn)在令人困惑的部分是Handler上面服務器代碼中的參數(shù)。為什么語法像下面這樣劃分 handlers.CORS(originsOk, headersOk, methodsOk)(router)是(router)參數(shù)列表的一部分嗎?有人可以分解這個語法讓我理解嗎?
1 回答

撒科打諢
TA貢獻1934條經(jīng)驗 獲得超2個贊
handlers.CORS
返回一個函數(shù),您正在使用路由器參數(shù)調(diào)用該函數(shù)。然后該函數(shù)調(diào)用返回一個處理程序,然后該處理程序最終傳遞給 ListenAndServe。
基本上表達式等同于:
f?:=?handlers.CORS(originsOk,?headersOk,?methodsOk) h?:=?f(router) log.Fatal(http.ListenAndServe(":3000",?h))
- 1 回答
- 0 關注
- 153 瀏覽
添加回答
舉報
0/150
提交
取消