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