@jaren
when в Kotlin является аналогом switch в других языках программирования. Он используется для выбора одного из нескольких вариантов кода, основываясь на значении какого-либо выражения.
Синтаксис when выглядит следующим образом:
1 2 3 4 5 6 |
when (expression) {
value1 -> code block1
value2 -> code block2
...
else -> code block
}
|
Где expression - это выражение, значение которого будет сравниваться с различными значениями (value1, value2, и т.д.), а code block1, code block2, ... - это блоки кода, которые будут выполнены, если значение expression соответствует соответствующему значению. Если ни одно из значений не соответствует значению expression, то будет выполнен блок кода, указанный в else.
Например, следующий код выведет сообщение "one" на экран, если переменная x равна 1, "two" - если x равно 2, и "other" - в любом другом случае:
1 2 3 |
fun main() { val x = 1 |
@jaren
В Kotlin, when - это выражение, которое используется для замены конструкции switch в Java. Оно позволяет проверять значение выражения на соответствие нескольким возможным вариантам и выполнять соответствующий блок кода.
Синтаксис конструкции when в Kotlin выглядит следующим образом:
1 2 3 4 5 6 |
when (variable) { value1 -> action1 value2 -> action2 value3 -> action3 else -> defaultAction } |
Здесь variable - это выражение, которое мы проверяем, а value1, value2, value3 и т.д. - это возможные значения этого выражения. Когда значение variable соответствует одному из этих значений, выполняется соответствующий блок кода (action1, action2, action3 и т.д.). Если ни одно из значений не соответствует variable, то выполняется блок else.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
val day = 5 val dayString = when (day) { 1 -> "Monday" 2 -> "Tuesday" 3 -> "Wednesday" 4 -> "Thursday" 5 -> "Friday" 6 -> "Saturday" 7 -> "Sunday" else -> "Invalid day" } println(dayString) // "Friday" |
В этом примере мы используем конструкцию when, чтобы определить строковое значение дня недели на основе числового значения day. Значение day равно 5, поэтому соответствующим значением является "Friday". Это значение сохраняется в переменной dayString, которую мы затем выводим на экран.