报错: cannot use Man{} (value of type Man) as Person value in variable declaration: Man does not implement Person (method eat has pointer receiver) (typecheck)网上很多人有讲过这个,这里换个角度归纳下:
Man结构未实现,person的方法 eat这个。
接口数据使用 runtime.iface 表示
iface记录了数据的地址
iface 中记录了接口类型信息和实现的方法 , 在接口断言时候,用到这些信息。空接口
基于它的底层实现定义:任意的类型,都可以表示为 数据类型 和 数据本身,例如 int 5 ,类型int,数据5例如在我们使用 fmt.Println(5) 时候,会先将 5 进行组装:
- nil是多个类型的零值,或者空值
- 空结构体的指针和值都不是nil。 指针是zerobase
3.空接口零值是nil,-旦有了类型信息就不是nil
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |