let und run
Arbeiten Sie mit Objekten
let und run ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.
Was sind Scope-Funktionen
Kotlin bietet fünf Scope-Funktionen: let, run, with, apply und also. Mit ihnen können Sie einen Codeblock für ein Objekt innerhalb eines temporären Gültigkeitsbereichs ausführen.
- Sie verweisen auf das Objekt mit
itoderthis. - Der Block gibt entweder das Objekt selbst oder das Ergebnis des Lambdas zurück.
In dieser Lektion konzentrieren wir uns auf let und run.
Die let-Funktion
let führt einen Block aus, in dem das Objekt als it verfügbar ist, und gibt das Lambda-Ergebnis zurück.
Sie eignet sich hervorragend, um Code nur dann auszuführen, wenn ein Wert nicht null ist, und um einen Wert in etwas anderes umzuwandeln.
fun main() {
val name = "Alice"
val length = name.let {
println("Name is $it")
it.length
}
println("Length: $length")
}let mit Nullable-Werten
let wird am häufigsten zusammen mit dem Safe-Call-Operator ?. verwendet. Der Block wird nur ausgeführt, wenn der Wert nicht null ist.
fun main() {
val name: String? = "Bob"
name?.let {
println("Hello, $it")
}
val empty: String? = null
empty?.let {
println("This never prints")
}
println("Done")
}it in let umbenennen
Innerhalb von let können Sie it in einen aussagekräftigen Namen umbenennen, indem Sie einen Lambda-Parameter deklarieren.
fun main() {
val price = 100
price.let { amount ->
println("The amount is $amount")
}
}Die run-Funktion
run führt einen Block aus, in dem das Objekt als this verfügbar ist, und gibt das Lambda-Ergebnis zurück.
Verwenden Sie run, wenn Sie direkt auf Member zugreifen möchten, ohne ein Präfix zu verwenden.
fun main() {
val text = "Kotlin"
val upper = text.run {
println("Length is $length")
uppercase()
}
println(upper)
}run ohne Receiver
run kann auch ohne Objekt aufgerufen werden. Dabei wird einfach ein Block ausgeführt und sein Ergebnis zurückgegeben. Das ist nützlich, um Anweisungen zu gruppieren und einen Wert zu berechnen.
fun main() {
val result = run {
val a = 5
val b = 10
a + b
}
println("Result: $result")
}it und this
Der wichtigste Unterschied zwischen let und run besteht darin, wie sie auf das Objekt verweisen:
letverwendetit(einen Parameter).runverwendetthis(einen Receiver, der häufig implizit ist).
Beide geben das Ergebnis des letzten Ausdrucks im Block zurück.
fun main() {
val word = "hi"
val a = word.let { it.length }
val b = word.run { length }
println("$a $b")
}Verkettung mit let
Da let das Lambda-Ergebnis zurückgibt, können Sie Aufrufe verketten und einen Wert Schritt für Schritt umwandeln.
fun main() {
val number = 4
val output = number
.let { it * 2 }
.let { it + 1 }
println(output)
}run für Nullprüfungen und Berechnungen
Wie let funktioniert auch run mit Safe Calls. Dadurch werden eine Nullprüfung und der Zugriff auf Member in einem Block kombiniert.
fun main() {
val message: String? = "Welcome"
val length = message?.run {
println(this)
length
}
println("Length: $length")
}Unterschiedliche Typen zurückgeben
Beide Funktionen können einen anderen Typ als den des Objekts zurückgeben. Der Rückgabetyp entspricht dem, was in der letzten Zeile ausgewertet wird.
fun main() {
val n = 10
val label: String = n.let { "Value is $it" }
println(label)
}Wann Sie let oder run verwenden sollten
Verwenden Sie let für nullsichere Operationen und Wertumwandlungen, bei denen it übersichtlich lesbar ist.
Verwenden Sie run, wenn Sie mehrere Member des Objekts aufrufen und ein Ergebnis berechnen möchten, wobei this direkten Zugriff ermöglicht.
Kurzer Check
Testen Sie Ihr Verständnis von let und run.
Zusammenfassung
Sie haben die beiden Scope-Funktionen kennengelernt, die ein Ergebnis zurückgeben:
letstellt das Objekt alsitbereit und gibt das Lambda-Ergebnis zurück – ideal für nullsichere Umwandlungen.runstellt das Objekt alsthisbereit und gibt das Lambda-Ergebnis zurück – ideal zum Gruppieren von Member-Zugriffen.
Als Nächstes konfigurieren Sie Objekte mit apply und fügen mit also Seiteneffekte hinzu.
Häufig gestellte Fragen
Ist die Lektion „let und run“ kostenlos?
Ja — der vollständige Text von „let und run“ 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 „let und run“?
Arbeiten Sie mit Objekten 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 1 von 4.
Wie lange dauert die Lektion „let und run“?
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.