继承是面向对象里面的概念,继承是子类继承父类的属性和方法。
package main
import "fmt"
// Animal 类
type Animal struct {
name string
}
func (a *Animal) eat() {
fmt.Printf("%s, 正在吃草\n", a.name)
}
func (a *Animal) sleep() {
fmt.Printf("%s, 正在睡觉\n", a.name)
}
// 狗类
type Dog struct {
kind string
*Animal // 继承Animal结构体
}
func (d *Dog) bak() {
fmt.Printf("%s 正在狂叫", d.name)
}
func main() {
d1 := &Dog{
kind: "金毛",
Animal: &Animal{
name: "川普",
},
}
d1.eat() // 等同于 d1.Animal.eat()
d1.bak()
}