golang接口的使用(练习一)

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

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

}

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

查看所有标签

猜你喜欢:

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

Masterminds of Programming

Masterminds of Programming

Federico Biancuzzi、Chromatic / O'Reilly Media / 2009-03-27 / USD 39.99

Description Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. Think along with Adin D. Falkoff (APL), Jame......一起来看看 《Masterminds of Programming》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具