Go语言接口规则

Go语言接口规则

接口是一个或多个方法签名的集合。任何类型的方法集中只要拥有该接口对应的全部方法签名。就表示它 "实现" 了该接口,无须在该类型上显式声明实现了哪个接口。对应方法,是指有相同名称、参数列表 (不包括参数名) 以及返回值,该类型也可以有其他方法。

接口赋值

对象赋值给接口时,会发生拷贝,而接口内部存储的是指向这个复制品的指针,既无法修改复制品的状态,也无法获取指针。

运行结果:

接口转型返回临时对象,只有使用指针才能修改其状态。

空接口

只有当接口存储的类型和对象都为nil时,接口才等于nil。

运行结果:

接口实现

接口只有方法声明,没有数据字段,没有实现,也不需要显示的实现。只要一个变量,含有接口类型中的所有方法,那么这个变量就实现这个接口。

如果一个变量含有了多个interface类型的方法,那么这个变量就实现了多个接口。

如果一个变量只含有了一个interface的部分方法,那么这个变量没有实现这个接口。

编译错误:

下一篇:

Go语言接口应用------敬请期待!

第一章 环境搭建

第二章 Go语言基础

第三章 Go语言程序结构

第四章 Go语言基本类型

第五章 Go语言引用类型

第六章 自定义类型与指针

第七章 流程控制

第八章 函数

第九章 方法

第十章 接口

看完本文有收获?那就分享给更多人吧~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181029G1O2RE00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券