写点什么

【愚公系列】2022 年 10 月 Go 教学课程 035- 接口和继承和转换与空接口

作者:愚公搬代码
  • 2022-10-21
    福建
  • 本文字数:581 字

    阅读完需:约 1 分钟

一、接口和继承和转换

package main
import "fmt"
type Humaner interface { SayHello()}type Personer interface { Humaner Say()}type Student struct {}
func (s *Student) SayHello() { fmt.Println("大家好")}func (s *Student) Say() { fmt.Println("你好")}func main() { var stu Student var per Personer per = &stu per.Say() per.SayHello() // 可以调用所继承的接口中的方法。
var h Humaner h = per // per=h h.SayHello()}
复制代码



继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。


接口继承是出自设计模式中的一个概念。接口继承,又称子类型化。描述了一个对象什么时候能够被用来替代另一个对象。接口是一个抽象类型,是抽象方法的集合,接口通常以 interface 来声明。接口可以多继承接口因为接口只定义行为并不包含类别的含义不指代具体的某类事物,

二、空接口

空接口(interface{})不包含任何的方法,正因为如此,所有的类型都实现了空接口,因此空接口可以存储任意类型的数值。


package main
import "fmt"
func main() { var i interface{} i = 123 i = "abc" fmt.Println(i) var s []interface{} s = append(s, 123, "abc", 12.3) for j := 0; j < len(s); j++ { fmt.Println(s[j]) }}
复制代码



发布于: 刚刚阅读数: 6
用户头像

还未添加个人签名 2022-03-01 加入

该博客包括:.NET、Java、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、python、大数据等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。

评论

发布
暂无评论
【愚公系列】2022年10月 Go教学课程 035-接口和继承和转换与空接口_10月月更_愚公搬代码_InfoQ写作社区