go语音之进阶篇接口的继承
Posted nulige
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语音之进阶篇接口的继承相关的知识,希望对你有一定的参考价值。
1、接口的继承
示例:
package main
import "fmt"
type Humaner interface { //子集
sayhi()
}
type Personer interface { //超集
Humaner //匿名字段,继承了sayhi()
sing(lrc string)
}
type Student struct {
name string
id int
}
//Student实现了sayhi()
func (tmp *Student) sayhi() {
fmt.Printf("Student[%s, %d] sayhi ", tmp.name, tmp.id)
}
func (tmp *Student) sing(lrc string) {
fmt.Println("Student在唱着:", lrc)
}
func main() {
//定义一个接口类型的变量
var i Personer
s := &Student{"mike", 666}
i = s
i.sayhi() //继承过来的方法
i.sing("学生哥")
}
执行结果:
Student[mike, 666] sayhi Student在唱着: 学生哥
以上是关于go语音之进阶篇接口的继承的主要内容,如果未能解决你的问题,请参考以下文章