Как работает синтаксис when в Kotlin?

Пользователь

от jeromy_ruecker , в категории: Другие , год назад

Как работает синтаксис when в Kotlin?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от yasmine , год назад

@jeromy_ruecker 

Синтаксис when в Kotlin позволяет сравнивать значение выражения с несколькими возможными вариантами и выполнять соответствующие действия, если значение соответствует одному из этих вариантов. Этот синтаксис похож на оператор switch в других языках программирования, но в отличие от switch в Kotlin when более мощный и гибкий инструмент.


Вот общий синтаксис when:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
when (выражение) {
    значениеВарианта1 -> {
        // действия, выполняемые при совпадении с значениеВарианта1
    }
    значениеВарианта2 -> {
        // действия, выполняемые при совпадении с значениеВарианта2
    }
    значениеВарианта3 -> {
        // действия, выполняемые при совпадении с значениеВарианта3
    }
    else -> {
        // действия, выполняемые в случае, если ни один из вариантов не соответствует значению выражения
    }
}


Выражение может быть любым типом данных, который можно проверить на соответствие, таким как числа, строки, перечисления и т. д. Варианты внутри when могут быть конкретными значениями, диапазонами значений, условиями или любой комбинацией этих элементов.


Кроме того, синтаксис when также позволяет использовать выражения без when для значений вариантов:

1
2
3
4
5
6
7
val value = 2
val result = when {
    value == 1 -> "Один"
    value == 2 -> "Два"
    else -> "Другое значение"
}
println(result) // "Два"


Эта форма when проверяет условия для каждого варианта, и когда одно из условий истинно, соответствующий блок выполняется. В приведенном выше примере, поскольку value равно 2, условие value == 2 является истинным, и результатом является строка "Два".