为什么c
未打印,而其值为nil
我误解了什么吗?
package main
import "fmt"
type MyError struct {
Why string
What string
}
func (this *MyError) Error() string {
return this.What + this.Why
}
func main() {
nilError := error(nil)
if nilError == nil {
fmt.Println("a")
}
if NilMyError() == nil {
fmt.Println("b")
}
if NilErrorFromMyError() == nil {
fmt.Println("c")
}
}
func NilErrorFromMyError() error {
return NilMyError()
}
func NilMyError() *MyError {
return nil
}
结果:
a
b