lint 错误提示: httpNoBody: http.NoBody should be preferred to the nil request body (gocritic)
错误代码:
req, err := http.NewRequest(http.MethodGet, url, nil)
错误原因:Golang 调用 http.NewRequest(method, url string, body io.Reader)
方法,没有请求体时,对 body 参数传了 nil。
修复方法:将 NewRequest 第三个参数 nil 改为 http.NoBody , NoBody 是一个实现了 io.Reader 接口的对象。
req, err := http.NewRequest(http.MethodGet, url, http.NoBody)
lint 错误提示: ioutilDeprecated: ioutil.ReadAll is deprecated, use io.ReadAll instead (gocritic)
错误代码:
b, err := ioutil.ReadAll(resp.Body)
错误原因:Golang 1.16 开始 io/ioutil 包被弃用,鼓励新代码使用包 io 和 os 中的相应实现。
修复方法:
ioutil.ReadFile(...)
// 改为
os.ReadFile(...)
ioutil.ReadAll(...)
// 改为
io.ReadAll(...)