#yyds干货盘点#愚公系列2022年08月 Go教学课程 035-接口和继承和转换与空接口

Posted 愚公搬代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#愚公系列2022年08月 Go教学课程 035-接口和继承和转换与空接口相关的知识,希望对你有一定的参考价值。

一、接口和继承和转换

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])
	


以上是关于#yyds干货盘点#愚公系列2022年08月 Go教学课程 035-接口和继承和转换与空接口的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#愚公系列2022年08月 Go教学课程 021-Go容器之切片操作

#yyds干货盘点#愚公系列2022年08月 Go教学课程 002-Go语言环境安装

#yyds干货盘点#愚公系列2022年08月 Go教学课程 031-结构体方法

#yyds干货盘点#愚公系列2022年08月 Go教学课程 035-接口和继承和转换与空接口

#yyds干货盘点#愚公系列2022年08月 Go教学课程 032-结构体方法继承

#yyds干货盘点#愚公系列2022年08月 Go教学课程 027-深拷贝和浅拷贝