Junior
Vysvetlite koncept výrazu 'when' v programovacom jazyku Kotlin.
sobes.tech AI
Odpoveď od AI
when v Kotlinu je univerzálny štruktúrny operátor, ktorý nahrádza klasický switch v iných jazykoch. Môže byť použitý ako výraz (vracajúci hodnotu) alebo ako operátor.
Hlavné funkcie:
-
Porovnanie hodnôt: Zladenie s konkrétnymi hodnotami.
fun describe(obj: Any): String = when (obj) { 1 -> "Jeden" "Hello" -> "Pozdrav" is Long -> "Dlhé" !is String -> "Nie je reťazec" else -> "Neznámy" } -
Kontrola typu (
is/!is): Zladenie s dátovými typmi. -
Kontrola príslušnosti (
in/!in): Kontrola, či hodnota patrí do rozsahu alebo kolekcie.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Kladné číslo v rozsahu" !in 10..20 -> "Nie v druhom rozsahu" else -> "Žiadny z vyššie uvedených" } -
Bez argumentu: Používa sa ako flexibilnejšia náhrada za reťazec
if-else if-else. Podmienky sa hodnotia postupne.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Obidve pravdivé" !x && !y -> "Obidve nepravdivé" else -> "Zmiešané" } -
Vrátenie hodnoty: Ak sa
whenpoužíva ako výraz, musí byť vyčerpávajúci (pokryť všetky možné prípady alebo mať vetvuelse).
when zlepšuje čitateľnosť a bezpečnosť kódu v porovnaní s tradičným switch.