Назад к вопросам
Junior — Middle
76
Что обозначает параметр, указанный перед именем метода в объявлении функции?
Ответ от нейросети
sobes.tech 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.