在Go编程语言中,为什么nil不是nil?

时间:2015-12-11 01:17:37

标签: go

package main

import "fmt"

type MagicError struct{}

func (MagicError) Error() string {
    return "[Magic]"
}

func Generate() *MagicError {
    return nil
}

func Test() error {
    return Generate()
}

func main() {
    if Test() != nil {
        fmt.Println("Hello, Mr. Pike!")
    }
}

为什么test()不是nil?有人可以向我解释一下吗?

由于

0 个答案:

没有答案