Middle
Чӣ гуна метавон структураҳои дарунсохтро барои имитация кардани мерос дар Go истифода бурд?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go вуҷуд надорад меросии классикӣ ҳамчун дар забонҳои объектӣ-ориентатсионӣ, аммо метавон структураҳои дарунсохт (embedding) -ро барои имитацияи мерос истифода бурд. Ин тавассути дохил кардани як структура ба дигар бе нишон додани номи майдон амалӣ мешавад, ки имкон медиҳад, ки методҳои структураи дохилшударо "мерасанд".
Масалан:
package main
import "fmt"
type Animal struct {
Name string
}
func (a Animal) Speak() {
fmt.Println(a.Name, "мегӯяд")
}
type Dog struct {
Animal // структураи дохилшуда
Breed string
}
func main() {
d := Dog{
Animal: Animal{Name: "Bobby"},
Breed: "Германский овчарка",
}
d.Speak() // истифодаи методи Animal тавассути Dog
}
Ин тариқ, Dog методҳои Animal-ро "мерасанд" ва метавонанд онҳоро мустақиман истифода баранд.