Middle
Hoe werken lambda-uitdrukkingen in de programmeertaal Kotlin?
sobes.tech AI
Antwoord van AI
Lambdazinnen in Kotlin stellen anonieme functies voor. Ze kunnen als argument worden doorgegeven of in variabelen worden opgeslagen.
Belangrijke punten:
- Syntax: Accolades
{}. Parameters worden vóór de pijl->aangegeven, de functielichaam erna. Als er geen parameters zijn, is de pijl optioneel. - Impliciete naam
it: Als de lambda één parameter heeft, hoeft deze niet expliciet te worden gedeclareerd, en is beschikbaar onder de naamit. - Retourwaarde: De laatste uitdrukking in de lambda is de retourwaarde.
- Sluitingen (Closures): Lambdas kunnen toegang krijgen tot en variabelen uit de scope waarin ze zijn gedefinieerd, wijzigen.
Voorbeelden:
// Lambda zonder parameters
val hello = { println("Hello, world!") }
hello() // Aanroep lambda
// Lambda met één parameter (expliciete declaratie)
val square = { number: Int -> number * number }
println(square(5))
// Lambda met één parameter (gebruik van 'it')
val increment = { it + 1 }
println(increment(10))
// Lambda met meerdere parameters
val sum = { a: Int, b: Int -> a + b }
println(sum(2, 3))
// Lambda als argument van een hogere-orde functie
fun operate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
return operation(a, b)
}
println(operate(4, 5, { x, y -> x * y })) // Lambda doorgeven
Vergelijking met anonieme functies (meer details):
| Kenmerk | Lambda-uitdrukking | Anonieme functie |
|---|---|---|
| Syntax | {} |
fun (...) |
| Retourwaarde | Laatste uitdrukking | Expliciete return |
return binnen |
Retourneert uit de bovenliggende functie (niet-lokaal return) | Retourneert uit de anonieme functie (lokaal return) |
Gebruik van it |
Ja (voor één parameter) | Nee |
Lambdas worden veel gebruikt in Kotlin, vooral met hogere-orde functies (map, filter, forEach, etc.), om beknopte en expressieve code te maken. De compiler optimaliseert het gebruik ervan.