interface类型变量默认值为nil
interface 底层实现
- iface(no-empty interface) 非空接口,包含方法的接口
- eface(empty interface) 空接口
iface和eface组成
- type:表示接口的类型描述
- value: 接口绑定的具体数据
eface
type eface struct {
_type *_type
data unsafe.Pointer
}
- type 负责决定data应该如何解释和操作
- data 指向具体的实例数据
iface
type iface struct {
tab *itab
data unsafe.Pointer
}
本文深入探讨了Go语言中接口的底层实现原理,包括非空接口(iface)和空接口(eface)的区别,以及它们如何通过_type和data字段来绑定具体的数据类型和实例。此外,还介绍了itab的作用及其在接口调用过程中的重要性。
5083

被折叠的 条评论
为什么被折叠?



