Go لا يملك inheritance — بدلاً من ذلك يستخدم composition عبر struct embedding. من خلال embedding هيكل واحد (أو interface) داخل آخر، يحصل النوع الخارجي على الحقول والدوال الخاصة بالنوع الداخلي مباشرة. هذا هو جواب Go على إعادة استخدام الكود، مفضلاً "has-a" composition على "is-a" inheritance.
Embedding هيكل
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
