0Pricing
Kotlin Academy · Lektion

it: Der implizite Parameter

Verwenden Sie den impliziten Parameter „it“ in Lambdas mit einem einzelnen Parameter.

it: Der implizite Parameter ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Das implizite it

Wenn ein Lambda genau einen Parameter hat, können Sie dessen Deklaration weglassen und ihn als it referenzieren. Das spart bei kurzen Pipelines Tipparbeit.

it in forEach

Das klassische Beispiel: forEach übergibt jedes Element als it.

fun main() {
    listOf(1, 2, 3).forEach { println(it) }
}

it in map

Transformieren Sie jedes Element, indem Sie it als Eingabe verwenden.

fun main() {
    val doubled = listOf(1, 2, 3).map { it * 2 }
    println(doubled) // [2, 4, 6]
}

it in filter

filter behält die Elemente, für die das Lambda true zurückgibt. it steht für das aktuelle Element.

fun main() {
    val evens = listOf(1, 2, 3, 4, 5).filter { it % 2 == 0 }
    println(evens) // [2, 4]
}

Wann Sie it NICHT verwenden sollten

Wenn der Lambda-Rumpf nicht trivial ist, benennen Sie den Parameter ausdrücklich. Ein Name verbessert die Verständlichkeit gegenüber dem verkürzten it.

fun main() {
    val users = listOf("alice", "bob")
    // OK
    users.forEach { println(it) }
    // Clearer with a name when body is bigger
    users.forEach { name ->
        println("User: $name length=${name.length}")
    }
}

it in verschachtelten Lambdas

Seien Sie bei verschachtelten Lambdas vorsichtig: Jedes it bezieht sich auf das innerste Lambda. Durch benannte Parameter vermeiden Sie Mehrdeutigkeiten.

fun main() {
    val nested = listOf(listOf(1, 2), listOf(3, 4))
    // Both lambdas use it — confusing!
    nested.forEach { outer ->
        outer.forEach { inner ->
            println("$outer -> $inner")
        }
    }
}

it mit String-Methoden

Ein häufiges Muster: Filtern oder transformieren Sie Strings mit it.

fun main() {
    val names = listOf("Alice", "bob", "Charlie")
    val upper = names.map { it.uppercase() }
    println(upper)
}

it mit Eigenschaften

it.property ist eine übersichtliche Möglichkeit, beim Verketten von Operationen auf Felder zuzugreifen.

data class Person(val name: String, val age: Int)
fun main() {
    val people = listOf(Person("Ana", 20), Person("Ben", 35))
    val names = people.map { it.name }
    println(names) // [Ana, Ben]
}

Prädikate mit it

Prädikate (Lambdas, die Boolean zurückgeben) lassen sich mit it natürlich lesen.

fun main() {
    val nums = listOf(1, 4, 7, 9)
    println(nums.any { it > 5 }) // true
    println(nums.all { it > 0 }) // true
    println(nums.none { it < 0 }) // true
}

Benutzerdefinierte Funktionen mit it

Jede Funktion höherer Ordnung mit einem Lambda mit nur einem Parameter stellt Ihnen automatisch it zur Verfügung.

fun <T> List<T>.firstWhere(predicate: (T) -> Boolean): T? {
    for (item in this) if (predicate(item)) return item
    return null
}
fun main() {
    val n = listOf(3, 8, 4, 5).firstWhere { it > 5 }
    println(n) // 8
}

it in Scope-Funktionen

Einige Scope-Funktionen (let, also) verwenden it als Empfänger; andere (apply, run) verwenden this. Wählen Sie abhängig davon, ob Sie den Empfänger ausdrücklich referenzieren möchten.

fun main() {
    val name: String? = "Kotlin"
    name?.let { println("hello $it") } // it = name
}

Schnelltest

Wann können Sie it verwenden, anstatt einen Lambda-Parameter zu benennen?

Zusammenfassung

it ist der implizite Name für den einzigen Parameter eines Lambdas mit einem Parameter. Verwenden Sie es, um kurze Lambdas zu verkürzen. Benennen Sie Parameter ausdrücklich, wenn die Rümpfe länger werden oder Verschachtelungen zu Verwirrung führen könnten.

Häufig gestellte Fragen

Ist die Lektion „it: Der implizite Parameter“ kostenlos?

Ja — der vollständige Text von „it: Der implizite Parameter“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „it: Der implizite Parameter“?

Verwenden Sie den impliziten Parameter „it“ in Lambdas mit einem einzelnen Parameter. Du übst Kotlin Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Kotlin Academy zu starten?

Keine Vorkenntnisse erforderlich. Kotlin Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „it: Der implizite Parameter“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Kotlin Academy-Lektion Code schreiben und ausführen?

Ja. Jede Kotlin Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Was ist ein Lambda? Syntax und Typen
  2. Lambdas an Funktionen übergeben
  3. it: Der implizite Parameter
  4. filter, map und find für Collections
← Zurück zu Kotlin Academy