为了账号安全,请及时绑定邮箱和手机立即绑定

golang接口的使用(练习一)

标签:
Go


在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()

}

©著作权归作者所有:来自51CTO博客作者PowerMichael的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消