Junior
What are high-level functions in Kotlin?
sobes.tech AI
Answer from AI
High-order functions are functions that take other functions as parameters or return a function as a result.
Examples of usage:
- Passing functions as arguments: Allows creating more flexible and reusable code.
fun operate(x: Int, y: Int, operation: (Int, Int) -> Int): Int { return operation(x, y) } fun main() { val sum = operate(5, 3) { a, b -> a + b } // Lambda as an argument println(sum) // 8 } - Returning functions from other functions: Allows creating functions that generate other functions.
fun mathOperation(op: String): (Int, Int) -> Int { return when (op) { "sum" -> { a, b -> a + b } "subtract" -> { a, b -> b - a } else -> throw IllegalArgumentException("Unknown operation") } } fun main() { val add = mathOperation("sum") println(add(10, 5)) // 15 }
Advantages:
- Improved readability: Lambdas and function references make the code more concise and understandable.
- More flexibility: Allow abstraction from specific execution logic.
- Simplification of API: Often used in Kotlin's standard libraries (e.g., in collection functions).
Examples of standard high-order functions:
forEachmapfilterreduceapplyletrunwith
High-order functions together with lambda expressions are a key feature of functional programming in Kotlin.