首先我们先来看下下面的代码,b应该是K类型而不是B类型,所以才不会出现b.aa和b.bb。
接下来让我看看接口在底层是怎样的表示呢?在ruuntime2.go中有个iface结构体,这个结构体就是接口的底层表示。
data指向的就是我们所用的那个结构体。接下来我们看看itab结构体。
其中inter是现在所用的接口类型,而type是指我们现在这个接口所装载的那个值。fun是这个我们现在所装载的这个值实现了哪些方法。
首先我们先来看下下面的代码,b应该是K类型而不是B类型,所以才不会出现b.aa和b.bb。
接下来让我看看接口在底层是怎样的表示呢?在ruuntime2.go中有个iface结构体,这个结构体就是接口的底层表示。
data指向的就是我们所用的那个结构体。接下来我们看看itab结构体。
其中inter是现在所用的接口类型,而type是指我们现在这个接口所装载的那个值。fun是这个我们现在所装载的这个值实现了哪些方法。