Junior
Selgitage 'when' väljendi kontseptsiooni Kotlin programmeerimiskeeles.
sobes.tech AI
Vastus AI-lt
Kotlinis when ir universāls strukturālais operators, kas aizvieto klasisko switch citās valodās. To var izmantot kā izteiksmi (atgriežot vērtību) vai kā operatoru.
Galvenās iespējas:
-
Vērtību salīdzināšana: Atbilstība ar konkrētām vērtībām.
fun describe(obj: Any): String = when (obj) { 1 -> "Üks" "Hello" -> "Tere" is Long -> "Pikk" !is String -> "Ei ole string" else -> "Tundmatu" } -
Tüübi kontroll (
is/!is): Ühilduvus andmetüüpidega. -
Kattuvuse kontroll (
in/!in): Kontroll, kas väärtus kuulub vahemikku või kogumikku.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Positiivne arv vahemikus" !in 10..20 -> "Ei ole teises vahemikus" else -> "Ei ole ülaltoodud" } -
Ilma argumentideta: Kasutatakse paindlikuma asendajana
if-else if-elseahelale. Tingimused hinnatakse järjekorras.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Mõlemad tõsi" !x && !y -> "Mõlemad väär" else -> "Segamini" } -
Väärtuse tagastamine: Kui
whenkasutatakse väljendina, peab see olema täielik (kattuma kõigi võimalike juhtumitega või omamaelseharu).
when parandab koodi loetavust ja turvalisust võrreldes traditsioonilise switch-ga.