Литерал функции — это полное определение анонимной функции, включающее сигнатуру и тело.
В примере fn := func(x, y int) int { return x * y }:
func(x, y int) int { return x * y }— полный литерал функцииfunc(x, y int) int— сигнатура функции (входные параметры и возвращаемый тип){ return x * y }— тело функции
Структура литерала функции:
func(параметры) возвращаемыйТип {
// тело функции
}Ключевые характеристики:
- Создается "на месте" без явного имени
- Может быть напрямую присвоен переменной
- Может быть передан как аргумент в другую функцию
- Может захватывать переменные из окружающей области видимости
Примеры использования:
// Присваивание переменной
fn := func(x, y int) int { return x * y }
result := fn(5, 3) // result будет равен 15
// Передача как аргумента
numbers := []int{1, 2, 3, 4, 5}
doubled := map(numbers, func(x int) int { return x * 2 })Литералы функций — мощный инструмент для создания гибких и динамических функциональных абстракций.