Go は継承がない — 代わりに構造体埋め込みを通じた composition を使用します。あるストラクト(またはインターフェイス)を別のストラクトの内部に埋め込むことで、外側の型は内側の型のフィールドとメソッドを直接取得します。これは Go のコード再利用への答えであり、"is-a" 継承よりも "has-a" composition を優先します。
構造体の埋め込み
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
