Sobes.tech
Junior — Middle

Ar galite paaiškinti 'when' operatoriaus veikimo principą Kotlin kalboje?

sobes.tech AI

Atsakymas iš AI

Kotlin'e when operatorius yra išplėstas switch operatoriaus variantas kitose kalbose. Jis naudojamas pasirinkti vieną iš kelių galimų kodo vykdymo variantų, priklausomai nuo išraiškos reikšmės.

Veikimo principas:

  • Po when esanti išraiška įvertinama.
  • Reikšmė lyginama su kiekvienu nurodytu variantu (šakomis).
  • Jei randama atitikmuo, vykdomas atitinkamas kodo blokas.
  • Jei joks variantas neatitinka, vykdomas else blokas, jei jis yra.

Pavyzdys:

val x = 3
when (x) {
    1 -> println("Vienas")
    2 -> println("Du")
    3, 4 -> println("Trys arba keturi")
    in 5..10 -> println("Nuo penkių iki dešimties")
    else -> println("Kitas skaičius")
}

Savybės:

  • Šakos gali turėti kelias reikšmes, atskirtas kableliu.
  • Gali būti naudojami patikrinimai diapazonuose (in), tipuose (is) arba bet kokiomis sąlygomis.
  • when gali būti naudojamas kaip išraiška, grąžinanti reikšmę.

Tai daro when labai lankstų ir patogų valdyti vykdymo srautą.