你是如何关闭 HTTP 的响应体的?

提问者:帅平 问题分类:面试刷题
你是如何关闭 HTTP 的响应体的?
1 个回答
巴黎小甜心
巴黎小甜心
直接在处理 HTTP 响应错误的代码块中,直接关闭非 nil 的响应体;手动调用 defer 来关闭响应体。
// 正确示例
func main() {
 resp, err := http.Get("http://www.baidu.com")
    // 关闭 resp.Body 的正确姿势
    if resp != nil {
  defer resp.Body.Close()
 }
 checkError(err)
 defer resp.Body.Close()
 body, err := ioutil.ReadAll(resp.Body)
 checkError(err)
 fmt.Println(string(body))
}
发布于:5个月前 (11-29) IP属地:四川省
我来回答