Die richtige Funktion auswählen
Wann Sie welche verwenden
Die richtige Funktion auswählen ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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.
Eine Scope-Funktion auswählen
Bei fünf verfügbaren Scope-Funktionen hängt die Wahl der richtigen Funktion von zwei Fragen ab:
- Wie wird auf das Objekt verwiesen: mit
thisoderit? - Was wird zurückgegeben: das Lambda-Ergebnis oder das Objekt?
Die Entscheidungstabelle
Hier ist die vollständige Übersicht:
letverwendetitund gibt das Lambda-Ergebnis zurück.runverwendetthisund gibt das Lambda-Ergebnis zurück.withverwendetthis(Argument) und gibt das Lambda-Ergebnis zurück.applyverwendetthisund gibt das Objekt zurück.alsoverwendetitund gibt das Objekt zurück.
let für Nullsicherheit verwenden
Wenn Sie einen nullable Wert haben und nur dann mit ihm arbeiten möchten, wenn er vorhanden ist, verwenden Sie let mit einem Safe Call.
fun main() {
val name: String? = "Ada"
name?.let { println("Hello $it") }
}run für this und Ergebnis verwenden
Wenn Sie mit this auf Member zugreifen und ein Ergebnis berechnen möchten, verwenden Sie run.
fun main() {
val text = "scope"
val info = text.run { "$this has length $length" }
println(info)
}with zum Gruppieren verwenden
Wenn Sie ein nicht-nullbares Objekt haben und mehrere Operationen darauf ausführen möchten, liest sich with natürlich.
fun main() {
val list = listOf(1, 2, 3)
with(list) {
println(sum())
println(size)
}
}apply zur Konfiguration verwenden
Wenn Sie ein Objekt erstellen und mehrere Eigenschaften festlegen müssen, hält apply den Code übersichtlich und gibt das Objekt zurück.
data class Server(var host: String = "", var port: Int = 0)
fun main() {
val server = Server().apply {
host = "0.0.0.0"
port = 80
}
println(server)
}also für Seiteneffekte verwenden
Wenn Sie protokollieren, debuggen oder validieren möchten, ohne das Objekt zu verändern, ist also mit it die richtige Wahl.
fun main() {
val nums = listOf(1, 2, 3)
.also { println("Got ${it.size} items") }
println(nums.sum())
}Scope-Funktionen kombinieren
In echtem Code werden sie häufig verkettet: mit apply konfigurieren, mit also protokollieren und mit let umwandeln.
data class User(var name: String = "", var score: Int = 0)
fun main() {
val label = User()
.apply { name = "Max"; score = 90 }
.also { println("Created $it") }
.let { "${it.name}: ${it.score}" }
println(label)
}Übermäßige Verwendung vermeiden
Scope-Funktionen können die Lesbarkeit beeinträchtigen, wenn sie verschachtelt oder zu häufig verwendet werden. Wenn eine einfache Variable und expliziter Code verständlicher sind, sollten Sie diese Variante bevorzugen. Verwenden Sie Scope-Funktionen, um echte Wiederholungen zu vermeiden, nicht um besonders clever zu wirken.
Stolperstelle bei Verschachtelungen
Durch die Verschachtelung von Scope-Funktionen können it und this mehrdeutig werden. Wenn Sie verschachteln müssen, benennen Sie den Parameter um, damit der Code übersichtlich bleibt.
fun main() {
val outer = "A"
outer.let { o ->
"B".let { i ->
println("$o then $i")
}
}
}Ein kurzes mentales Modell
Merken Sie sich: Funktionen, die das Objekt zurückgeben (apply, also), erstellen Pipelines; Funktionen, die ein Ergebnis zurückgeben (let, run, with), wandeln Werte um. Wählen Sie je nach Lesbarkeit zwischen it und this.
Kurzer Check
Welche Scope-Funktion sollten Sie verwenden, um ein neu erstelltes Objekt zu konfigurieren und dieses Objekt zurückzuerhalten?
Zusammenfassung
Sie verfügen nun über einen Entscheidungsrahmen: Wählen Sie anhand der Referenz (this oder it) und des Rückgabewerts (Objekt oder Ergebnis). let und run wandeln um, with gruppiert, apply konfiguriert und also fügt Seiteneffekte hinzu. Verwenden Sie sie, um überflüssigen Code zu reduzieren, nicht um ihn hinzuzufügen.
Lerne Kotlin mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 51
- Lektionen
- 203
Häufig gestellte Fragen
Ist die Lektion „Die richtige Funktion auswählen“ kostenlos?
Ja — der vollständige Text von „Die richtige Funktion auswählen“ 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 „Die richtige Funktion auswählen“?
Wann Sie welche verwenden 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 4 von 4.
Wie lange dauert die Lektion „Die richtige Funktion auswählen“?
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
- let und run
- apply und also
- with
- Die richtige Funktion auswählen