Careful when comparing value with nil in Golang
func main() {/tmp/___go_build_main_go #gosetup false Process finished with exit code 0
err := Foo()
fmt.Println(err == nil)
}
func Foo() error {
var err *os.PathError =nil
return err
}
Best practice
func main() {
err := Foo()
fmt.Println(err == nil)
}
func Foo() error {
var err *os.PathError =nil
if err!= nil {
return errors.New("Not nil")
}
return nil
}
/tmp/___go_build_main_go #gosetup true Process finished with exit code 0
https://yourbasic.org/golang/interfaces-explained/
ReplyDelete