Sobes.tech
Junior — Middle

Какво означава параметърът, посочен преди името на метода в декларацията на функцията?

sobes.tech AI

Отговор от AI

Параметърът, посочен преди името на метода в декларацията на функция в Go, се нарича приемник (receiver). Той свързва функцията с определен тип, превръщайки я в метод на този тип.

Приемникът може да бъде стойност или указател към тип и позволява извикването на метода чрез екземпляр на този тип.

Пример:

type Point struct {
    X, Y int
}

// Метод с приемник от тип Point
func (p Point) Move(dx, dy int) Point {
    p.X += dx
    p.Y += dy
    return p
}

// Метод с указателен приемник
func (p *Point) MoveInPlace(dx, dy int) {
    p.X += dx
    p.Y += dy
}

Тук (p Point) и (p *Point) са приемници, които позволяват извикването на методи върху обекти от тип Point.