golang接口赋值实现方式一:将对象实例赋值给接口
package mainimport "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 mainimport "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()}总结
以上是内存溢出为你收集整理的golang接口的使用(练习一)全部内容,希望文章能够帮你解决golang接口的使用(练习一)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)