go语言中的继承 指的是一个结构体中采用匿名的方式包含另外一个结构体 这个就叫做继承, 注意这里的匿名
组合 一个结构体用命名的方式包含另外一个结构体,这个就叫做组合
继承代码示例
type A struct {Name stringAge int}type B struct {Addr stringName stringA}type C struct {AB}func main(){var c1 Cc1.A.Name = "aa"//c1.Name = "tom" // 报错 因为A和B里面都有Name 而C本身没有Name, ambiguous selector c1.Namec1.Age = 99 // 这个Age最终只有A里面有}
组合
type D struct {a A // 结构体嵌入了其他结构体并指定了名称,这时叫做组合B}这时 要访问a里面的内容,则必须带上名字var d1 Dd1.a.Name = "jack"