例如,我正在发出发布请求,而根本不需要响应对象。

_, err := http.Post(url, "", &buf)

在这种情况下,我可以避免内存泄漏吗?是否会耗尽response.Body以进行正确的连接重用?还是我需要做通常的defer resp.Body.Close()事情?

最佳答案

应用程序必须关闭响应主体以回收基础网络连接使用的资源。为了能够重用基础连接,应用程序必须在关闭之前读取响应主体。

将响应分配给空白标识符将不会关闭连接。

分配(包括分配给空白标识符)没有副作用。

playground example

10-08 15:03