Анонимные функции (или лябда выражения) отличаются по виду от обычных тем, что не имеют имени. Ну это понятно. Анонимная функция может иметь одно выражение: например fun(x: Int, y: Int): Int = x + y Рассмотрим следующий пример, демонстрирующий синтаксис лямбда-выражения: {x, y -> x+y} Это простое лямбда-выражение, которое принимает два параметра: x и y и возвращает их сумму. Параметры функции перечислены перед оператором ->, а тело функции начинается после оператора ->. Это лямбда-выражение может быть присвоено переменной и использовано следующим образом: val sumLambda: (Int, Int) -> Int = {x,y -> x+y}
val actualSum = sumLambda(3,4) Обратите внимание, что тип переменной, которая содержит выражение лямбда, указывает типы его параметров и возвращаемое значение. Создание функции более высокого порядка, которая может принимать приведенное выше лямбда-выражение в качестве параметра, так же просто. Например, чтобы создать функцию, которая удваивает результат выражения лямбда, вы должны напи