爲什麼當你使用否定比較錯誤與零如果提供預期的輸出,但當你試圖比較它使用'積極'的運算符'不起作用'?我覺得代碼見下面爲什麼錯誤不匹配零?去
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