我對(duì)HTTP包中的這段代碼感到困惑:type HandlerFunc func(ResponseWriter, *Request)func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request) { f(w, r)}為什么該ServeHTTP方法與它的類型具有完全相同的簽名-有什么意義? 經(jīng)過(guò)測(cè)試,我發(fā)現(xiàn)如果我將隨機(jī)函數(shù)(foo)傳遞給HandlerFunc:var bar = HandlerFunc(foo)bar成為HandlerFuncwithfoo作為其ServeHTTP方法的實(shí)例?,F(xiàn)在,我對(duì)這到底是如何工作感到非常困惑。如果我在一個(gè)類型上有多個(gè)方法,那么我如何知道將要附加到新實(shí)例的哪個(gè)方法以及其名稱或順序呢?
- 1 回答
- 0 關(guān)注
- 232 瀏覽
添加回答
舉報(bào)
0/150
提交
取消