Sobes.tech
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.