【1】继承的引入: 当多个结构体存在相同的属性(字段)和方法时,可以从这些结构体中抽象出结构体,在该结构体中定义这些相同的属性和方法, 其它的结构体不需要重新定义这些属性和方法,只需嵌套一个匿名结构体即可。也就是说:在Golang中,如果一个struct嵌套了另一个匿名结构体,那么这个结构体可以直接访问匿名结构体的字段和方法,从而实现了继承特性。

【2】代码引入:
go
package main
import (
"fmt"
)
//定义动物结构体:
type Animal struct{
Age int
Weight float32
}
//给Animal绑定方法:喊叫:
func (an *Animal) Shout(){
fmt.Println("我可以大声喊叫")
}
////给Animal绑定方法:自我展示:
func (an *Animal) ShowInfo(){
fmt.Printf("动物的年龄是:%v,动物的体重是:%v",an.Age,an.Weight)
}
//定义结构体:Cat
type Cat struct{
//为了复用性,体现继承思维,嵌入匿名结构体:——》将Animal中的字段和方法都达到复用
Animal
}
//对Cat绑定特有的方法:
func (c *Cat) scratch(){
fmt.Println("我是小猫,我可以挠人")
}
func main(){
//创建Cat结构体示例:
cat := &Cat{}
cat.Animal.Age = 3
cat.Animal.Weight = 10.6
cat.Animal.Shout()
cat.Animal.ShowInfo()
cat.scratch()
}【3】继承的优点:
提高代码的复用性、扩展性