go 接口

demo如下:

package main

import "fmt"

//定义一个接口
type Phone interface {
    speak()
    read()
}

//以下结构体可以分别设置自己的属性
type IPhone struct {
    name string
}

type Oppo struct {
    id int
}
type Mi struct { f bool } // 手机讲话区域(对相关的接口进行实现) func (a IPhone) speak() { fmt.Println("我叫sir,您好!") } func (a IPhone) read() { fmt.Println("爱疯,read!") } func (a Oppo) read() { fmt.Println("oppo,read!") } func (a Oppo) speak() { fmt.Println("我是oppo小精灵!") } func (a Mi) speak() { fmt.Println("大家好,我是小爱童鞋!") }
func (a Mi) read() {
    fmt.Println("mi,read!")
}
// 中央广场展示大舞台(可以直接将不同的实现接口的结构体对象传进来) 
func show(myPhone Phone) {
myPhone.speak()
}


func main() {
// 将新建对象传入展示大舞台,大舞台代码不变,展示不同的效果
var r = Oppo{1}
var a Phone = r
a = IPhone{ "aa", }
show(a)
}

结束!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值