zzn*_*zzn 14

在封面下,接口实现为两个元素,一个类型和一个值.该值称为接口的动态值,是一个任意的具体值,类型是值的类型.对于int值3,接口值示意性地包含(int,3).

仅当内部值和类型都未设置(nil,nil)时,接口值才为nil.特别是,nil接口将始终保持nil类型.如果我们在接口值中存储类型为*int的nil指针,则无论指针的值如何,内部类型都将是*int:(*int,nil).因此,即使内部指针为零,这样的接口值也将是非零的.

a := (*interface{})(nil)var a *interface{} = nil
var b interface{} = (*interface{})(nil)binterface{}interface{}nilnil*interface{}nil