【Go简明手册】Go面向对象编程4——接口
接口
在 Go 中,接口是一组方法签名。当一个类型为接口中的所有方法提供定义时,它被称为实现该接口。它与 oop 非常相似。接口指定类型应具有的方法,类型决定如何实现这些方法。
接口基础
之所以说 Go 语言的面向对象很灵活,很大一部分原因是由于接口的存在。接口是一个自定义类型,它声明了一个或者多个方法签名,任何实现了这些方法的类型都实现这个接口。infterface{}
类型是声明了空方法集的接口类型。任何一个值都满足 interface{}
类型,也就是说如果一个函数或者方法接收 interface{}
类型的参数,那么任意类型的参数都可以传递给该函数。接口是完全抽象的,不能实例化。接口能存储任何实现了该接口的类型。直接看例子吧,创建源文件 interface_t.go
,输入以下代码:
1 |
|
接口变量值的类型*
接口类型声明的变量里能存储任何实现了该接口的类型的值。
有的时候我们需要知道这个变量里的值的类型,那么需要怎么做呢?可以使用类型断言,或者是
switch
类型判断分支。以下的例子interface_t1.go
我们使用了switch
类型判断分支。
1 |
|
嵌入interface
结构体中可以嵌入匿名字段,其实在接口里也可以再嵌入接口。如果一个 interface1
作为 interface2
的一个嵌入字段,那么 interface2
隐式的包含了 interface1
里的方法。如下例子中,Interface2
包含了 Interface1
的所有方法。
1 |
|
【Go简明手册】Go面向对象编程4——接口
https://hodlyounger.github.io/2023/10/27/B_Code/GO/Go简明手册/面向对象编程/接口/【Go简明手册】Go面向对象编程4——接口/