Junior — Middle
Kā īstenot pamata klases metodes izsaukšanu no iebūvēta komponenta vai struktūras?
sobes.tech AI
Atbilde no AI
Go valodā iekļautās struktūras (embedding) ļauj iekļaut vienu tipu citā, kas ļauj tieši izmantot iekļautā tipa metodes. Lai izsauktu pamata (iekļauto) tipa metodi, to var piekļūt caur lauka nosaukumu.
Piemērs:
package main
import "fmt"
type Base struct{}
func (b Base) Hello() {
fmt.Println("Sveiki no Base")
}
type Derived struct {
Base
}
func (d Derived) Hello() {
fmt.Println("Sveiki no Derived")
// Pamata tipa metodes izsaukšana
d.Base.Hello()
}
func main() {
d := Derived{}
d.Hello()
}
Šajā piemērā Derived struktūras Hello metode izsauc iekļautās Base struktūras Hello metodi caur d.Base.Hello(). Tādējādi ir iespējams tieši izsaukt pamata klases metodi no iekļautā komponenta.