Что такое анонимная функция

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

Ответ

Анонимная функция — это функция без имени, которая может быть определена и вызвана на месте. В Go анонимные функции часто используются для замыканий (closures), отложенных вызовов (defer) и горутин.

Пример:

func main() {
    // Анонимная функция с немедленным вызовом
    func() {
        fmt.Println("Привет из анонимной функции!")
    }()

    // Присвоение анонимной функции переменной
    greet := func(name string) {
        fmt.Printf("Привет, %s!n", name)
    }
    greet("Иван")
}

Особенности:

  • Может захватывать переменные из окружающего контекста (closure)
  • Часто используется с defer и go
  • Может принимать параметры и возвращать значения как обычная функция