Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
2 of 1310 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

Конструкция when

Конструкция when в Kotlin является мощной альтернативой операторам switch из других языков. Она позволяет сравнивать значение с различными вариантами и выполнять соответствующий блок кода. Конструкция может использоваться как выражение (возвращающее значение) и как оператор.

Синтаксис

when (x) { value1 -> statement1 value2 -> statement2 else -> defaultStatement }
val result = when (x) { value1 -> expression1 value2 -> expression2 else -> defaultExpression }

Пример

Простое использование when для проверки числа:

val x = 3 when (x) { 1 -> println("One") 2 -> println("Two") 3 -> println("Three") else -> println("Other") }

Результат выполнения кода:

"Three"

Пример

Использование when в качестве выражения:

val x = 5 val res = when (x) { 1 -> "One" 2 -> "Two" in 3..10 -> "Between 3 and 10" else -> "Other" } println(res)

Результат выполнения кода:

"Between 3 and 10"

Пример

Проверка типа с помощью when:

val obj: Any = "Hello" when (obj) { is String -> println("String length: ${obj.length}") is Int -> println("Int value: $obj") else -> println("Unknown type") }

Результат выполнения кода:

"String length: 5"

Пример

Использование when без аргумента:

val x = 10 val y = 20 when { x > y -> println("x is greater than y") x < y -> println("x is less than y") else -> println("x equals y") }

Результат выполнения кода:

"x is less than y"

Смотрите также

  • оператор if,
    для простых условий
  • оператор is,
    для проверки типов
  • оператор in,
    для проверки вхождения в диапазон