美文网首页
Go笔记-Chap7 接口

Go笔记-Chap7 接口

作者: leon4ever | 来源:发表于2019-05-09 20:30 被阅读0次

7.1 定义

  • 接口代表一种调用契约,是多个方法声明的集合。
  • 相当于一种协议,遵守事先约定的规则,无需知道对方具体的身份进行协作。
  • 解除了类型依赖,减少用户可视方法,屏蔽细节
  • 先实现类型,再抽象出接口,非侵入式设计

内部实现上看,也是一种数据结构

  • 不能有字段
  • 不能定义自己的方法
  • 只能声明方法,不能实现
  • 可嵌入其他接口类型

通常以er作为名称后缀,但参数名可不同或省略。

如果一个接口没有任何方法声明,就是一个空接口,类似根类型,可被赋值为任何类型的对象
默认值是nil

  • 可以嵌入其他接口,目标类型方法集中必须拥有包含嵌入接口方法在内的全部方法才算实现了该接口。
  • 超集可以隐式转换为子集,反过来不行,就是可以由大到小
  • 支持匿名接口类型

7.2 执行机制

接口使用一个名为itab的结构存储运行期所需的相关类型信息

7.3 类型转换

类型推断可将接口变量还原为原始类型,或用来判断是否实现了某个具体接口类型。

相关文章

  • Go笔记-Chap7 接口

    7.1 定义 接口代表一种调用契约,是多个方法声明的集合。 相当于一种协议,遵守事先约定的规则,无需知道对方具体的...

  • Golang学习笔记---方法和接口方法的使用

    Golang学习笔记---方法和接口方法的使用 源码Github链接methodAndInterface.go

  • Go学习笔记-接口

    接口是一个对象的对外能力的展现,我们使用一个对象时,往往不需要知道一个对象的内部复杂实现,通过它暴露出来的接口,就...

  • 第04天(面对对象编程)_04

    16_接口的继承.go 17_接口转换.go 18_空接口.go 19_类型断言:if.go 20_类型断言:sw...

  • go语言基础

    go语言基础 go 语言接口

  • Go语言开发资料收集

    【Go 边看边练 -《Go 学习笔记》】系列Go 边看边练 -《Go 学习笔记》系列(一)- 变量、常量Go 边看...

  • 第05天(异常、文本文件处理)_01

    01_error接口的使用.go 02_error接口应用.go 03_显式调用panic函数.go 04_数组越...

  • Go语言实战笔记(九)| Go 接口

    《Go语言实战》读书笔记,未完待续,欢迎扫码关注公众号flysnow_org,第一时间看后续笔记。 接口是一种约定...

  • Golang 学习笔记七 接口

    一、概念 《快学 Go 语言》第 9 课 —— 接口 1.接口定义Go 语言的接口类型非常特别,它的作用和 Jav...

  • Golang学习笔记-接口和错误

    接口 Go接口定义了方法后,其它类型只要实现了这些方法就是实现了接口。Go语言中接口类型的独特之处在于它是满足隐式...

网友评论

      本文标题:Go笔记-Chap7 接口

      本文链接:https://www.haomeiwen.com/subject/dfigoqtx.html