golang接口的使用(练习一)

栏目: Go · 发布时间: 6年前

内容简介:在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()

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大话存储Ⅱ

大话存储Ⅱ

张冬 / 清华大学出版社 / 2011-5 / 99.00元

《大话存储2:存储系统架构与底层原理极限剖析》内容简介:网络存储是一个涉及计算机硬件以及网络协议/技术、操作系统以及专业软件等各方面综合知识的领域。目前国内阐述网络存储的书籍少之又少,大部分是国外作品,对存储系统底层细节的描述不够深入,加之术语太多,初学者很难真正理解网络存储的精髓。《大话存储2:存储系统架构与底层原理极限剖析》以特立独行的行文风格向读者阐述了整个网络存储系统。从硬盘到应用程序,对......一起来看看 《大话存储Ⅱ》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具