在这种情况下会发生什么?会有内存泄漏吗?
这是资源泄漏。该连接不会被重用,并且可以保持打开状态,在这种情况下,文件描述符将不会被释放。
获取响应对象后立即放入defer resp.Body.Close()是否安全?
否,请按照文档中提供的示例操作,并在检查错误后立即将其关闭。
client := http.DefaultClientresp, err := client.Do(req)if err != nil { return nil, err}defer resp.Body.Close()从
http.Client文档中:
如果返回的错误为nil,则响应将包含一个非零的Body,希望用户将其关闭。如果未同时将Body读取到EOF并关闭,则客户端的基础RoundTripper(通常为Transport)可能无法将与服务器的持久TCP连接重新用于后续的“保持活动”请求。



