Paaiškinkite 'when' išraiškos sampratą Kotlin programavimo kalboje.
sobes.tech AI
Atsakymas iš AI
Kotlin when yra universalus struktūrinis operatorius, kuris pakeičia klasikinius switch kitose kalbose. Jis gali būti naudojamas kaip išraiška (grąžinanti reikšmę) arba kaip operatorius.
Pagrindinės galimybės:
-
Reikšmių palyginimas: Atitikimas su konkrečiomis reikšmėmis.
fun describe(obj: Any): String = when (obj) { 1 -> "Vienas" "Hello" -> "Pasveikinimas" is Long -> "Ilgas" !is String -> "Nėra eilutė" else -> "Nežinomas" } -
Tipo patikrinimas (
is/!is): Atitikimas duomenų tipams. -
Apimties patikrinimas (
in/!in): Patikrinimas, ar reikšmė priklauso diapazonui arba kolekcijai.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Teigiamas skaičius diapazone" !in 10..20 -> "Nėra antro diapazono" else -> "Nė vienas iš aukščiau" } -
Be argumento: Naudojama kaip lankstesnė
if-else if-elsegrandinės pakaitalas. Sąlygos vertinamos eilės tvarka.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Abu teisingi" !x && !y -> "Abu klaidingi" else -> "Mišrus" } -
Reikšmės grąžinimas: Jei
whennaudojamas kaip išraiška, jis turi būti išsamus (apimti visas galimas situacijas arba turėtielsešaką).
when pagerina kodo skaitomumą ir saugumą lyginant su tradiciniu switch.