Junior — Middle
Čo znamená parameter uvedený pred názvom metódy v deklarácii funkcie?
sobes.tech AI
Odpoveď od AI
Parameter, ktorý je uvedený pred názvom metódy v deklarácii funkcie v jazyku Go, sa nazýva prijímač (receiver). Spája funkciu s určitým typom a mení ju na metódu tohto typu.
Prijímač môže byť hodnota alebo ukazovateľ na typ a umožňuje volať metódu cez inštanciu tohto typu.
Príklad:
type Point struct {
X, Y int
}
// Metóda s prijímačom typu Point
func (p Point) Move(dx, dy int) Point {
p.X += dx
p.Y += dy
return p
}
// Metóda s ukazovateľom prijímača
func (p *Point) MoveInPlace(dx, dy int) {
p.X += dx
p.Y += dy
}
Tu sú (p Point) a (p *Point) prijímače, ktoré umožňujú volať metódy na objektoch typu Point.