正如文件所说
不要将上下文存储在结构类型中;相反,将 Context 显式传递给需要它的每个函数。Context 应该是第一个参数,通常命名为 ctx
但我发现,在典型的 http 请求句柄函数中,一个http.Request
对象的.Context()
方法可以检索与 http 请求关联的上下文。
那么为什么建议在这些函数中使用上下文作为第一个参数。在这种情况下这样做合理吗?
我知道这不是限制规则。但我不知道为什么HandlerFunc
是func(ResponseWriter, *Request)
而不是func(context.Context, ResponseWriter, *Request)
显然,HandlerFunc
打破建议。