Go में कोई inheritance नहीं है — इसके बजाय यह struct embedding के माध्यम से composition का उपयोग करता है। एक struct (या interface) को दूसरे के अंदर embed करके, बाहरी type को भीतरी type के fields और methods सीधे मिल जाते हैं। यह code reuse के लिए Go का उत्तर है, जो "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())
