go-接口2
//多类型实现同一接口
type Mover interface {
move()
}
type dog struct {
name string
}
type car struct {
brand string
}
// dog 类型实现 Mover 接口
func (d dog) move() {
fmt.Println("%s: mmmm", d.name)
}
func (c car) move() {
fmt.Println("%s: mmmm", c.brand)
}
func main() {
var x Mover
var a = dog{name :"旺财"}
var b = dog{name :"虾米"}
x = a
x.move()
x = b
x.move()
}
//一个接口的方法,不一定需要由一个类型完全实现,接口的方法可以通过在类型中嵌入其他类型或者结构体来实现。
本作品采用《CC 协议》,转载必须注明作者和本文链接