Sobes.tech
Junior — Middle

Czy możesz wyjaśnić zasadę działania operatora 'when' w języku Kotlin?

sobes.tech AI

Odpowiedź od AI

Operator when w Kotlinie jest rozszerzoną wersją operatora switch z innych języków. Służy do wyboru jednej z kilku opcji wykonania kodu w zależności od wartości wyrażenia.

Zasada działania:

  • Wyrażenie po when jest oceniane.
  • Wartość jest porównywana z każdą z podanych opcji (gałęzi).
  • Jeśli zostanie znaleziona zgodność, wykonywany jest odpowiedni blok kodu.
  • Jeśli żadna opcja nie pasuje, wykonywany jest blok else, jeśli istnieje.

Przykład:

val x = 3
when (x) {
    1 -> println("Jeden")
    2 -> println("Dwa")
    3, 4 -> println("Trzy lub cztery")
    in 5..10 -> println("Od pięciu do dziesięciu")
    else -> println("Inna liczba")
}

Cechy:

  • Gałęzie mogą zawierać kilka wartości oddzielonych przecinkami.
  • Można używać sprawdzeń w zakresach (in), typach (is) lub warunkach dowolnych.
  • when może być używany jako wyrażenie zwracające wartość.

To sprawia, że when jest bardzo elastyczne i wygodne do zarządzania przepływem sterowania.