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.