我是 Go 的新手。如果我正在执行 HTTP 获取请求,请执行以下操作:
resp, err := http.Get("https://www.google.com")
Run Code Online (Sandbox Code Playgroud)
现在我需要检查是否err为 nil 和defer resp.Body.Close(). 执行这两个操作的正确顺序是什么?
您需要在调用后立即检查错误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()
Run Code Online (Sandbox Code Playgroud)