根据文档
func (*Client) Do:
“如果是由客户端策略(例如CheckRedirect)引起的,或者存在HTTP协议错误,则会返回错误。非2xx响应不会导致错误。
当err为nil时,resp始终包含非nil resp.Body。”
然后看这段代码:
res, err := client.Do(req)defer res.Body.Close()if err != nil { return nil, err}我猜
err不是
nil。在检查之前,您正在访问
.Close()方法。
res.Body``err
该
defer只推迟函数调用。立即访问该字段和方法。
因此,请尝试立即检查错误。
res, err := client.Do(req)if err != nil { return nil, err}defer res.Body.Close()


