基本上,HTTP服务器的“ mux”具有路径映射->处理程序接口
我假设在这里使用接口来允许您实现具有状态的复杂路径处理程序。
例如,标准包中的文件服务器是一个结构,其中包含文件服务的根目录并实现了处理程序接口。
也就是说,对于简单的东西,函子更容易,更清晰。因此,他们添加了特殊的生成器,因此您可以轻松地传递函数。
看看:server.go
从行:1216(截至今天)
1216 type HandlerFunc func(ResponseWriter, *Request) 1217 1218 // ServeHTTP calls f(w, r). 1219 func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request) { 1220 f(w, r) 1221 }
他们正在做的是在自定义类型(恰好与接口的api匹配)上实现接口,该接口会自我调用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)