Junior — Middle
Hoe pas je een lambda-uitdrukking toe in de context van een extensiefunctie in Kotlin?
sobes.tech AI
Antwoord van AI
In Kotlin worden lambda-uitdrukkingen vaak samen met uitbreidingsfuncties gebruikt om de leesbaarheid en het gemak van de code te verbeteren. Een uitbreidingsfunctie stelt je in staat om een nieuwe methode toe te voegen aan een bestaande klasse zonder er erfenis van te gebruiken.
Voorbeeld van het gebruik van een lambda in een uitbreidingsfunctie:
// Uitbreidingsfunctie voor List<Int>, die een lambda toepast op elk element en de som retourneert
fun List<Int>.sumByLambda(transform: (Int) -> Int): Int {
var sum = 0
for (item in this) {
sum += transform(item)
}
return sum
}
fun main() {
val numbers = listOf(1, 2, 3, 4)
val result = numbers.sumByLambda { it * 2 } // elk element vermenigvuldigen met 2 en optellen
println(result) // Drukt 20 af
}
Hier is sumByLambda een uitbreidingsfunctie voor List<Int>, die een lambda-uitdrukking transform accepteert en toepast op elk element van de lijst.