go语言之“继承”
go语言没有本质上的“继承”;但是可以通过结构体来实现继承。
package main
import "fmt"
type animal struct {
name string
age int
}
type cat struct {
feet int
an animal
}
func (a animal) move() {
fmt.Printf("%s会动\n", a.name)
}
func (c cat) miao() {
fmt.Printf("%s会瞄\n", c.an.name)
}
func main() {
a := animal{
name: "嘟嘟",
age: 3,
}
c := cat{
feet: 4,
an: animal{
name: "一一",
age: 3,
},
}
fmt.Println(a)
a.move()
fmt.Println(c)
c.an.move() //此处必须加an来调用,因为cat结构体里面不是匿名字段
c.miao()
}