Golang接口简单了解

在Golang中,一个类只需要实现了接口要求的所有函数,我们就说这个类实现了该接口。

package main

import "fmt"

type Animal interface {
    Fly()
    Run()
}

type Animal2 interface {
    Fly()
}

type Bird struct {
}

func (bird Bird) Fly() {
    fmt.Println("Bird is flying!!!!")
}

func (bird Bird) Run() {
    fmt.Println("Bird is running!!!!")
}

func main() {

    var animal Animal

    bird := new(Bird)
    animal = bird

    animal = bird //把类实例直接赋值给接口

    animal.Fly()
    animal.Run()

}
Bird is flying!!!!
Bird is running!!!!

 空接口可以接收任何类型的值赋值

package main

import "fmt"

func main() {
    var test interface{}
    test = 123

    fmt.Printf("%T,%v\n", test, test)
    test = "abc"

    fmt.Printf("%T,%v\n", test, test)
    test = true

    fmt.Printf("%T,%v\n", test, test)
    test = 312.2

    fmt.Printf("%T,%v\n", test, test)

}
int,123
string,abc
bool,true
float64,312.2

 

转载于:https://www.cnblogs.com/wt645631686/p/9658385.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值