我在项目中使用gometalinter
并获得此代码
errors.New(fmt.Sprintf("%s cmd.Std error: %s ", cp[1:], err))
出现错误should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
有什么办法解决这个问题吗?
我尝试使用errors.New(fmt.Errorf("%s cmd.Std error: %s ", cp[1:], err))
,但出现错误,无法将fmtErrorf用作字符串类型
答案 0 :(得分:4)
fmt.Errorf
返回一个error
,而errors.New
则返回一个string
,这就是您的代码无法编译的原因。
您可以简单地省略errors.New
调用,或者,由于您使用的是github.com/pkg/errors
包,因此可以使用https://godoc.org/github.com/pkg/errors#Errorf。