我是Go的新手。如果我正在执行HTTP get请求,请执行以下操作:
resp, err := http.Get("https://www.google.com")
现在我需要检查err
是否为零defer resp.Body.Close()
。这两项操作的正确顺序是什么?
答案 0 :(得分:2)
您需要在致电Get
后立即检查错误。如果Get
失败,resp
将设置为nil
。这意味着resp.Body
会生成运行时nil pointer dereferenced
错误。
resp, err := http.Get("https://www.google.com")
if err != nil {
// process error
return err
}
defer resp.Body.Close()