Go میں کوئی inheritance نہیں ہے — اس کی بجائے یہ composition استعمال کرتا ہے struct embedding کے ذریعے۔ ایک struct (یا interface) کو دوسرے کے اندر embed کرکے، بیرونی type کو اندرونی type کے fields اور methods براہ راست ملتے ہیں۔ یہ Go کا code reuse کا جواب ہے، جو "is-a" inheritance کی بجائے "has-a" composition کو ترجیح دیتا ہے۔
Struct کو embed کرنا
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
