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)
}
结束!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2019-03-07 python发送邮件