Основы Go
Теория: Анонимные функции (Лямбды)
В Go, как и в других современных языках программирования, можно создавать анонимные функции — функции без имени. Они объявляются прямо на месте и часто используются как вспомогательные: для краткости, конфигурации поведения или передачи логики в другие функции.
Эта конструкция определяет функцию, но не вызывает её. Чтобы вызвать такую функцию сразу, нужно добавить круглые скобки:
Такая запись называется немедленным вызовом анонимной функции (IIFE — immediately invoked function expression).
Захват внешних переменных (замыкание)
Анонимные функции могут использовать переменные, определённые вне их тела:
Функция exclaim() получила доступ к переменной suffix, даже не принимая её как параметр. Это называется замыканием.
Пример на будущее: сортировка с анонимной функцией
Мы пока не изучали коллекции, но в будущем вы сможете использовать анонимные функции для различных обобщенных задач, таких как сортировка:
Здесь sort.Slice() использует анонимную функцию-компаратор, чтобы определить порядок элементов. Скоро вы узнаете, что такое срезы и как с ними работать.
Функции, возвращающие другие функции
В Go функция может возвращать другую функцию. Это часто используется для создания замыканий — функций, которые «запоминают» своё окружение.





