Middle
Kā izmantot iebūvētās struktūras, lai imitētu mantošanu Go?
sobes.tech AI
Atbilde no AI
Go valodā nav klasiskās mantošanas kā objektorientētajās valodās, bet var izmantot iebūvētas struktūras (embedding), lai imitētu mantošanu. Tas tiek panākts, iekļaujot vienu struktūru citā bez lauka nosaukuma norādīšanas, kas ļauj "manto" iebūvētās struktūras metodes.
Piemērs:
package main
import "fmt"
type Animal struct {
Name string
}
func (a Animal) Speak() {
fmt.Println(a.Name, "runā")
}
type Dog struct {
Animal // iebūvēta struktūra
Breed string
}
func main() {
d := Dog{
Animal: Animal{Name: "Bobby"},
Breed: "Vācu aitu suns",
}
d.Speak() // izsauc Animal metodi caur Dog
}
Tādējādi, Dog "manto" Animal metodes un var tās tieši izmantot.