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