@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
, которую мы затем выводим на экран.