GO语言类型嵌入模拟“实现继承” - 方法继承 官网
类型嵌入还能实现方法继承。给基础结构体定义方法,嵌入该结构体的结构体也能使用这些方法。 // 定义一个基础结构体 type Animal struct { Name string } // 给Animal结构体定义一个方法 func (a Animal) Eat() { fmt.Println(a.Name + " is eating.") } // 定义一个嵌入Animal结构体的结构体 type Dog struct { Animal Breed string } func main() { d := Dog{Animal{Name: "Buddy"}, "Golden Retriever"} d.Eat() // 输出: Buddy is eating. } Dog结构体可调用Animal的Eat方法。 要注意方法的接收者类型,若为指针接收者,调用方式会不同。