← 返回首页

go中 2 个nil可能不相等吗

可能不等。interface在运行时绑定值,只有值为nil接口值才为nil,但是与指针的nil不相等。

举个例子:

var p *int = nil
var i interface{} = nil
if(p == i){
        fmt.Println("Equal")
}

两者并不相同。

总结:两个nil只有在类型相同时才相等.