在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
现在有这样两种赋值方式 a := (*interface{})(nil) var c interface{}
a现在是啥 ? (*interface{})(nil) 意思是把nil 类型转换为 *interface{}类型 a相当于 var a *interface{} = nil , a是个指针 , 指向了nil , 所以a是nil
c现在是啥 ? c是 interface{} 类型 , 这个类型有两个属性 , type和data , c的type属性是*interface{} 有值 , c的data属性是nil 无值 只有当type和data都是nil时 , 空接口才是nil , 所以c不是nil
a := (*interface{})(nil) log.Printf("%v\n", a == nil) var c interface{} c = (*interface{})(nil) log.Printf("%v\n", c == nil)
|
请发表评论