Go语言接口规则
接口是一个或多个方法签名的集合。任何类型的方法集中只要拥有该接口对应的全部方法签名。就表示它 "实现" 了该接口,无须在该类型上显式声明实现了哪个接口。对应方法,是指有相同名称、参数列表 (不包括参数名) 以及返回值,该类型也可以有其他方法。
接口赋值
对象赋值给接口时,会发生拷贝,而接口内部存储的是指向这个复制品的指针,既无法修改复制品的状态,也无法获取指针。
运行结果:
接口转型返回临时对象,只有使用指针才能修改其状态。
空接口
只有当接口存储的类型和对象都为nil时,接口才等于nil。
运行结果:
接口实现
接口只有方法声明,没有数据字段,没有实现,也不需要显示的实现。只要一个变量,含有接口类型中的所有方法,那么这个变量就实现这个接口。
如果一个变量含有了多个interface类型的方法,那么这个变量就实现了多个接口。
如果一个变量只含有了一个interface的部分方法,那么这个变量没有实现这个接口。
编译错误:
下一篇:
Go语言接口应用------敬请期待!
第一章 环境搭建
第二章 Go语言基础
第三章 Go语言程序结构
第四章 Go语言基本类型
第五章 Go语言引用类型
第六章 自定义类型与指针
第七章 流程控制
第八章 函数
第九章 方法
第十章 接口
看完本文有收获?那就分享给更多人吧~
领取专属 10元无门槛券
私享最新 技术干货