为什么当你使用否定比较错误与零如果提供预期的输出,但当你试图比较它使用'积极'的运算符'不起作用'?我觉得代码见下面为什么错误不匹配零?去
package main
import "fmt"
import "errors"
func main() {
err := makeError
if err != nil {
fmt.Println("as expected")
err = noError
if err == nil {
fmt.Println("as expected")
} else {
fmt.Println("Why no error ?")
}
}
}
func makeError() error {
return errors.New("error!")
}
func noError() (err error) {
return
}
你是故意插入函数'makeError'到变量'err'中,还是那个错误?尝试用'err:= makeError()'和'err = noError()' –
首先:仔细阅读http://golang.org/doc/faq#nil_error。第二:解决安德烈亚斯指出的问题。 – Volker