Sobes.tech
Junior — Middle

Wie wendet man eine Lambda-Ausdruck im Kontext einer Erweiterungsfunktion in Kotlin an?

sobes.tech KI

Antwort von AI

In Kotlin werden Lambda-Ausdrücke häufig zusammen mit Erweiterungsfunktionen verwendet, um die Lesbarkeit und den Komfort des Codes zu verbessern. Eine Erweiterungsfunktion ermöglicht es, einer bestehenden Klasse ohne Vererbung eine neue Methode hinzuzufügen.

Beispiel für die Verwendung einer Lambda in einer Erweiterungsfunktion:

// Erweiterungsfunktion für List<Int>, die eine Lambda auf jedes Element anwendet und die Summe zurückgibt
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 } // jedes Element mit 2 multiplizieren und summieren
    println(result) // Gibt 20 aus
}

Hier ist sumByLambda eine Erweiterungsfunktion für List<Int>, die eine Lambda-Expression transform akzeptiert und auf jedes Element der Liste anwendet.