Как называется параметр, указываемый перед названием метода

«Как называется параметр, указываемый перед названием метода» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Ресивер (receiver) — это параметр, который связывает метод с конкретным типом, позволяя вызывать его через экземпляр этого типа. Может быть как по значению (копия), так и по указателю (ссылка).

Пример:

type User struct { Name string }

// Value receiver (копия)
func (u User) GetName() string { return u.Name }

// Pointer receiver (ссылка)
func (u *User) SetName(name string) { u.Name = name }

Нюансы:

  • Ресивер по указателю изменяет оригинальную структуру.
  • Ресивер по значению работает с копией (не влияет на исходные данные).
  • Имя ресивера принято делать коротким (1-2 символа, например, u для User).