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
- Was ist ein Lambda? Syntax und Typen
- Lambdas an Funktionen übergeben
- it: Der implizite Parameter
- filter, map und find für Collections