请考虑以下事项:
package main
import (
"errors"
"fmt"
)
func foo() error {
return errors.New("Danger!")
}
func main() {
foo();
fmt.Println("I don't have a care in the world!")
}
如果有一种简单的方法可以看到foo()的可能错误没有得到处理,那就太好了。 Go是否有内置的方法来检查程序/源文件是否有任何错误?
答案 0 :(得分:6)
Go没有内置的方法来做到这一点,但Kamil Kisiel的a third-party tool就是这样做的。只需go get github.com/kisielk/errcheck
然后从您的bin/errcheck your/import/path
运行$GOPATH
,它就会吐出一系列忽略错误的来电。 (我刚刚在一个项目上尝试过,而且,或许我并没有像我想的那样100%可靠。)
如果您喜欢,可能还需要go vet的支票,以及Google中用于样式检查的the lint package。
答案 1 :(得分:4)
您可以使用errcheck:
$ errcheck github.com/your/package
当您忽略返回的错误时,它会通知您。我认为如果你使用一个像样的编辑器(它显示你的功能签名),这应该是罕见的。