Конструкция 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"