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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!