Junior — Middle
Co oznacza parametr umieszczony przed nazwą metody w deklaracji funkcji?
sobes.tech AI
Odpowiedź od AI
Parametr, który jest wskazywany przed nazwą metody w deklaracji funkcji w Go, nazywa się odbiorcą (receiver). Łączy on funkcję z określonym typem, zamieniając ją w metodę tego typu.
Odbiorca może być wartością lub wskaźnikiem na typ i pozwala wywołać metodę za pomocą instancji tego typu.
Przykład:
type Point struct {
X, Y int
}
// Metoda z odbiorcą typu Point
func (p Point) Move(dx, dy int) Point {
p.X += dx
p.Y += dy
return p
}
// Metoda z odbiorcą wskaźnikowym
func (p *Point) MoveInPlace(dx, dy int) {
p.X += dx
p.Y += dy
}
Tutaj (p Point) i (p *Point) to odbiorcy, które umożliwiają wywoływanie metod na obiektach typu Point.