Kotlin When Expression: упростите условное ветвление в вашем коде

В Котлине выражение «когда» используется вместо традиционного оператора переключения в других языках программирования. Это позволяет вам проверять несколько условий и выполнять различные блоки кода в зависимости от условия соответствия. Вот пример простого выражения «когда» в Котлине:

fun main() {
    val x = 5

    when (x) {
        1 -> println("x is 1")
        2 -> println("x is 2")
        3, 4 -> println("x is 3 or 4")
        in 5..10 -> println("x is between 5 and 10")
        else -> println("x is not matched")
    }
}

В этом примере значение xпроверяется по разным регистрам. Если xравно 1, выводится «x равно 1». Если xравен 2, он печатает «x равно 2». Если xравно 3 или 4, он печатает «x равно 3 или 4». Если xнаходится в диапазоне от 5 до 10 (включительно), он печатает «x находится в диапазоне от 5 до 10». Если ни один из случаев не соответствует, выполняется блок кода под else, который печатает «x не соответствует».

Некоторые дополнительные методы, которые вы можете использовать с выражением «когда» в Kotlin, включают:

  1. Использование произвольных выражений в качестве условий:

    when (x % 2) {
       0 -> println("x is even")
       1 -> println("x is odd")
    }
  2. Проверка типа объекта:

    when (obj) {
       is String -> println("obj is a String")
       is Int -> println("obj is an Int")
       else -> println("obj is neither a String nor an Int")
    }
  3. Использование слова «когда» в качестве выражения:

    val message = when (x) {
       0 -> "x is zero"
       else -> "x is non-zero"
    }