• 免费注册  马上登录
  • 切换到窄版
  • go语言|go语言部落|go文库

    查看: 69|回复: 0

    go语言接口类型实例

    [复制链接]

    15

    主题

    16

    帖子

    69

    积分

    网站编辑

    Rank: 8Rank: 8

    积分
    69
    发表于 2019-12-2 15:12:23 | 显示全部楼层 |阅读模式
    go语言接口实例:
    在Go语言中接口(interface)是一种类型,一种抽象的类型。
    interface是一组method的集合,是duck-type programming的一种体现。接口做的事情就像是定义一个协议(规则),只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性(数据),只关心行为(方法
    package main

    import "fmt"
    //interface接口
    //接口是一种类型
    //定义一个能说的特殊类型speaker
    type speaker interface {
       speak()//只要有speak()这个方法,都在speaker类型里面
    }
    type dog struct {

    }
    type cat struct {

    }
    type person struct {

    }
    //狗叫的方法
    func (d dog)speak(){
       fmt.Println("我是狗,我会汪汪汪")
    }
    //猫叫的方法
    func (c cat)speak(){
       fmt.Println("我是猫,我会喵喵喵")
    }
    //人叫的方法
    func (p person)speak(){
       fmt.Println("我是人,我啥都会说")
    }
    //定义一个接口函数
    func da(x speaker){
       x.speak()//接收一个参数,传进来啥我就打印啥
    }
    func main(){
       var d dog
       var c cat
       var p person
       da(d)
       da(c)
       da(p)
    }

    打印结果:

    我是狗,我会汪汪汪

    我是猫,我会喵喵喵

    我是人,我啥都会说




    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Go语言社区

    GMT+8, 2020-4-2 01:11 , Processed in 0.036340 second(s), 17 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表