Функция высшего порядка — это функция, которая либо:
Это позволяет использовать паттерны функционального программирования, делая код более лаконичным и переиспользуемым.
fun operate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
return operation(a, b)
}
val sum = operate(3, 4) { a, b -> a + b } // Result: 7
Здесь operation — это тип функции (Int, Int) -> Int, передаваемый как лямбда-выражение в месте вызова.
Стандартная библиотека Kotlin активно использует функции высшего порядка для операций над коллекциями:
map — трансформирует каждый элементfilter — выбирает элементы, соответствующие условиюreduce — агрегирует элементы в одно значениеval numbers = listOf(1, 2, 3, 4, 5)
val doubled = numbers.map { it * 2 } // [2, 4, 6, 8, 10]
val evens = numbers.filter { it % 2 == 0 } // [2, 4]
Функция высшего порядка должна одновременно принимать функцию как параметр и возвращать функцию как результат, чтобы считаться настоящей функцией высшего порядка.
Новый — ещё не проверен сообществом
Вы