Junior — Middle
Hogyan valósítható meg egy alap osztály metódusának hívása beépített komponensből vagy struktúrából?
sobes.tech MI
Válasz az MI-től
Go-ban az beágyazott struktúrák (embedding) lehetővé teszik, hogy egy típus egy másikba legyen beágyazva, ami lehetővé teszi a beágyazott típus módszereinek közvetlen használatát. A bázistípus (beágyazott) módszerének meghívásához hozzáférhetünk a mező nevével.
Példa:
package main
import "fmt"
type Base struct{}
func (b Base) Hello() {
fmt.Println("Helló a Base-ből")
}
type Derived struct {
Base
}
func (d Derived) Hello() {
fmt.Println("Helló a Derived-ből")
// A bázistípus módszerének hívása
d.Base.Hello()
}
func main() {
d := Derived{}
d.Hello()
}
Ebben a példában a Derived struktúra Hello metódusa meghívja a beágyazott Base struktúra Hello metódusát a d.Base.Hello() segítségével. Így kifejezetten meghívhatja a bázisklasz metódusát a beágyazott komponensből.