Junior
Co je to blok 'run' v Kotlinu a jak se používá?
sobes.tech AI
Odpověď od AI
Blok run v Kotlinu je vestavěná funkce rozšíření v Kotlin standardní knihovně. Používá se k:
- Spuštění bloku kódu na objektu: Volá se na objektu a vykonává lambda výraz poskytnutý jako argument. Uvnitř lambda je objekt dostupný jako
this. - Vrácení výsledku: Vrací výsledek posledního výrazu v lambda.
- Nullable objekty: Je užitečný při práci s nullable objekty, protože při použití operátoru bezpečného volání
?.bude blokrunvykonán pouze pokud objekt není null.
Hlavní vlastnosti:
- Příjemce (
this): Objekt, na kterém je volánrun, je uvnitř lambda dostupný jakothis. - Výsledek: Výsledek posledního výrazu v lambda.
Příklady použití:
// Příklad 1: vykonání kódu na objektu a vrácení výsledku
val length: Int = "some string".run {
// 'this' zde odkazuje na "some string"
println("Délka řetězce: ${this.length}")
length // Vrací délku řetězce
}
// Příklad 2: práce s nullable objektem
val nullableString: String? = "another string"
val upperCaseString: String? = nullableString?.run {
// Blok se provede pouze pokud nullableString není null
toUpperCase() // Vrací řetězec v horním registru
}
val anotherNullableString: String? = null
val anotherUpperCaseString: String? = anotherNullableString?.run {
// Blok se neprovede, run?. vrátí null
toUpperCase()
}
// Příklad 3: vytvoření a nastavení objektu
val person = run {
val name = "Alice"
val age = 30
Person(name, age) // Předpokládá se, že třída Person existuje
}