Sobes.tech
Junior — Middle

Mit jelent a paraméter, amelyet a függvény deklarációjában a metódus neve előtt adunk meg?

sobes.tech MI

Válasz az MI-től

A Go nyelvben a függvény deklarációjában a metódus neve előtt megadott paramétert fogadó (receiver)-nek nevezik. Ez összekapcsolja a függvényt egy adott típussal, így annak módszerévé válik.

A fogadó lehet érték vagy pointer a típusra, és lehetővé teszi a módszer hívását az adott típus példányán keresztül.

Példa:

type Point struct {
    X, Y int
}

// Point típusú fogadóval rendelkező módszer
func (p Point) Move(dx, dy int) Point {
    p.X += dx
    p.Y += dy
    return p
}

// Pointer fogadóval rendelkező módszer
func (p *Point) MoveInPlace(dx, dy int) {
    p.X += dx
    p.Y += dy
}

Itt (p Point) és (p *Point) fogadók, amelyek lehetővé teszik módszerek hívását a Point típusú objektumokon.