Aké scope funkcie v Kotlin poznáš?
sobes.tech AI
Odpoveď od AI
V Kotlinu existuje niekoľko funkcií rozsahu (scope functions), ktoré umožňujú vykonávať operácie s objektom v určitom kontexte. Hlavné sú:
-
let — vykonáva blok kódu s objektom ako argumentom
ita vracia výsledok bloku. Často sa používa pre bezpečnú prácu s nullable.val name: String? = "Kotlin" name?.let { println("Dĺžka mena: ${it.length}") } -
run — vykonáva blok kódu s objektom ako
thisa vracia výsledok bloku. Užitečné pre inicializácie a výpočty.val result = "Hello".run { println(this) length } -
with — podobná ako
run, ale volá sa ako funkcia s objektom ako parametrom a vracia výsledok bloku.val builder = StringBuilder() val result = with(builder) { append("Hello") append(" World") toString() } -
apply — vykonáva blok s objektom ako
thisa vracia samotný objekt. Často sa používa na konfiguráciu objektov.val person = Person().apply { name = "John" age = 30 } -
also — vykonáva blok s objektom ako
ita vracia samotný objekt. Používa sa na doplnkové akcie, napríklad logovanie.val numbers = mutableListOf(1, 2, 3).also { println("Zoznam: $it") }
Každá funkcia sa líši v spôsobe, akým odovzdáva objekt lambda výrazu (this alebo it) a čo vracia (výsledok bloku alebo samotný objekt).