golang接口的使用(练习一)
发布时间:2020-12-16 09:33:00 所属栏目:大数据 来源:网络整理
导读:在go语言中,一个类只要实现了接口要求的所有函数,我们就说这个类实现了这个接口。 golang接口赋值实现方式一:将对象实例赋值给接口 package mainimport "fmt"//定义一个Animal接口,实现飞和跑的功能type Animal interface { Fly() Run()}//定义一个Bird类
在go语言中,一个类只要实现了接口要求的所有函数,我们就说这个类实现了这个接口。
golang接口赋值实现方式一:将对象实例赋值给接口 package main import "fmt" //定义一个Animal接口,实现飞和跑的功能 type Animal interface { Fly() Run() } //定义一个Bird类 type Bird struct { } //通过类实现接口的函数功能 func (bird Bird) Fly() { fmt.Println("the bird is flying!!!") } func (bird Bird) Run() { fmt.Println("the bird is running!!!") } func main() { // 声明一个Animal接口类型的变量 var animal Animal //声明一个Bird类型的变量,并将其置0 //new()函数是一个用来分配内存的内建函数,它不初始化内存,只将其置0。 bird := new(Bird) //把bird对象赋值给animal接口 animal = bird //调用接口中的函数功能 animal.Fly() animal.Run() } golang接口赋值实现方式二:将接口赋值给接口 package main import "fmt" //定义一个Animal接口,实现飞和跑的功能 type Animal interface { Fly() Run() } type Animal2 interface { Fly() } //定义一个Bird类 type Bird struct { } //通过类实现接口的函数功能 func (bird Bird) Fly() { fmt.Println("the bird is flying!!!") } func (bird Bird) Run() { fmt.Println("the bird is running!!!") } func main() { // 声明一个Animal接口类型的变量 var animal Animal var animal2 Animal2 //声明一个Bird类型的变量,并将其置0 //new()函数是一个用来分配内存的内建函数,它不初始化内存,只将其置0。 bird := new(Bird) //把bird对象赋值给animal接口 animal = bird //将animal接口赋值给animal2,注意函数功能包含关系,包含方法多的接口可以赋值给方法少的接口,反之,则不行。 animal2 = animal //调用接口中的函数功能 animal.Fly() animal.Run() animal2.Fly() } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |