我对HTTP包中的这段代码感到困惑:type HandlerFunc func(ResponseWriter, *Request)func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request) { f(w, r)}为什么该ServeHTTP方法与它的类型具有完全相同的签名-有什么意义? 经过测试,我发现如果我将随机函数(foo)传递给HandlerFunc:var bar = HandlerFunc(foo)bar成为HandlerFuncwithfoo作为其ServeHTTP方法的实例。现在,我对这到底是如何工作感到非常困惑。如果我在一个类型上有多个方法,那么我如何知道将要附加到新实例的哪个方法以及其名称或顺序呢?
1 回答
- 1 回答
- 0 关注
- 213 浏览
添加回答
举报
0/150
提交
取消