内容简介:在go语言中,一个类只要实现了接口要求的所有函数,我们就说这个类实现了这个接口。golang接口赋值实现方式一:将对象实例赋值给接口golang接口赋值实现方式二:将接口赋值给接口
在 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()
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- [Vue 2.x Todo 教程练习参考答案] 标为完成练习参考答案
- [Vue 2.x Todo 教程练习参考答案] 添加todo练习参考答案
- [Vue 2.x Todo 教程练习参考答案] 入门仪式_Hello_Vue练习参考答案
- python二级练习(4)
- python二级练习(6)
- python二级练习(7)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
阿里巴巴正传:我们与马云的“一步之遥”
方兴东、刘伟 / 江苏凤凰文艺出版社 / 2015-1 / 45.00
十几年来,方兴东与马云每年一次,老友聚首,开怀畅谈,阿里上市前,作者再次与马云深度对话,阿里上市前的布局,深入探讨了一系列人们关心的话题。 本书忠实记录了阿里壮大、马云封圣的历史。作者通过细致梳理和盘点,对阿里巴巴的15年成长史进行了忠实回顾。从海博翻译社到淘宝网,从淘宝商城到天猫,从支付宝到阿里云计算,从拉来软银的第一笔投资到纽交所上市,作者对其中涉及到的人物、细节都有生动展现;对于马云、......一起来看看 《阿里巴巴正传:我们与马云的“一步之遥”》 这本书的介绍吧!