【发布时间】:2016-01-21 23:59:15
【问题描述】:
我有一个函数,它只发出一个 get 请求来检查状态代码。它不会从身体中读取任何内容。我还应该用resp.Body.Close() 结束函数吗?
调用者在读取完 resp.Body 后应该关闭它。如果 resp.Body 没有关闭,客户端的底层 RoundTripper(通常是 Transport)可能无法重新使用到服务器的持久 TCP 连接来进行后续的“keep-alive”请求。
【问题讨论】:
-
来自文档:“客户端完成后必须关闭响应正文:”。从中读取任何内容都不会改变问题。
-
@dystroy 我已经用我所指的 godoc 段落更新了问题
-
好吧。我不明白你为什么要问。为什么要避免关闭身体?
-
显然这可以通过添加 .Close() 来解决,无论如何。但我想要更多关于学习内部结构的信息。 .Close() 做什么?什么时候需要?
-
你必须致电
Close,这是必须的。
标签: go