golang中的nil与空接口

2019-04-09  本文已影响0人  个00个

而指针,函数,interface,slice,channel和map的零值都是nil
可以看看下面代码的例子。 nil是 指针,函数,接口,slice,channel,map的零值。

package main

import (
    "fmt"
    // "reflect"
)

type BB struct {

}

func main(){
    var a interface{}
    fmt.Println(a)

    var b *BB
    fmt.Println(b)

    a = b
    fmt.Println(a)

    if a != nil {
        fmt.Println("空接口赋值之后其值为nil, 但是其本身不是nil哟.")
        fmt.Println("所以打印的时候是nil, 判等的时候并不是nil.")
        fmt.Println(a)
    }

}
上一篇 下一篇

猜你喜欢

热点阅读