Go માં વારસાગિરી નથી — તેના બદલે તે struct embedding દ્વારા composition નો ઉપયોગ કરે છે. એક struct (અથવા interface) ને બીજા struct માં embed કરીને, બાહ્ય પ્રકાર આંતરિક પ્રકારના fields અને methods સીધું મેળવે છે. આ code reuse માટે Go નો જવાબ છે, જે "is-a" વારસાગિરીને બદલે "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())
