Go 将http响应设置为空标识符是否会导致文件处理程序泄漏?

Go 将http响应设置为空标识符是否会导致文件处理程序泄漏?,go,Go,是这样吗 _, myError := hc.Do(req) 导致文件处理程序泄漏 我没有看到响应一直在关闭,客户端是否负责关闭响应,即使它不使用响应?是的,这会导致资源泄漏,阻止底层往返程序重用持久(保持活动)连接 来自http.Response 打电话的人有责任把尸体关上。 如果正文未读到完成并关闭,则默认HTTP客户端的传输可能不会重用HTTP/1.x“保持活动”TCP连接 分配给空白标识符不会改变任何东西。您仍然没有读取或关闭http.Response.Body如何处理此问题已明确记录在

是这样吗

_, myError := hc.Do(req)
导致文件处理程序泄漏


我没有看到响应一直在关闭,客户端是否负责关闭响应,即使它不使用响应?

是的,这会导致资源泄漏,阻止底层往返程序重用持久(保持活动)连接

来自
http.Response

打电话的人有责任把尸体关上。 如果正文未读到完成并关闭,则默认HTTP客户端的传输可能不会重用HTTP/1.x“保持活动”TCP连接


分配给空白标识符不会改变任何东西。您仍然没有读取或关闭

http.Response.Body

如何处理此问题已明确记录在您引用的同一个文件中:“如果返回的错误为nil,则响应将包含一个非nil的Body,用户应关闭该Body。”是的,我希望使用一些编译器魔法来关闭它,这是有意义的。