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.