Kotlin – это современный язык программирования, предлагающий широкий спектр функций, повышающих производительность разработчиков и удобочитаемость кода. Одной из таких особенностей является мощное выражение «когда», которое служит универсальной заменой традиционных операторов переключения регистра. В этой статье мы углубимся в различные методы использования выражения «когда» в Kotlin, сопровождая его примерами кода, иллюстрирующими его гибкость и полезность.
- Основное использование:
Простейшая форма выражения «когда» позволяет сопоставлять переменную с несколькими возможными значениями и выполнять соответствующие блоки кода. Вот пример:
val number = 5
when (number) {
1 -> println("One")
2 -> println("Two")
3 -> println("Three")
else -> println("Other")
}
- Объединение нескольких вариантов:
Вы можете объединить несколько вариантов в один блок кода, используя список, разделенный запятыми. Такой подход уменьшает дублирование кода и повышает читаемость. Рассмотрим следующий пример:
val dayOfWeek = 3
when (dayOfWeek) {
1, 7 -> println("Weekend")
in 2..6 -> println("Weekday")
else -> println("Invalid day")
}
- Использование выражений.
Выражение «когда» также может возвращать значение, что делает его полезным при присваивании и возврате функций. Вот пример, определяющий тип переменной:
fun getType(value: Any): String = when (value) {
is String -> "String"
is Int -> "Int"
is Boolean -> "Boolean"
else -> "Unknown"
}
- Интеллектуальное приведение.
Выражение «когда» может использовать функцию интеллектуального приведения Kotlin для автоматического приведения переменных в блоках кода. Это устраняет необходимость в явных проверках типов. Взгляните на этот пример:
fun processValue(value: Any) {
when (value) {
is String -> println(value.length)
is Int -> println(value * 2)
is Boolean -> println(!value)
}
}
- Проверка диапазонов.
Вы можете использовать проверку диапазона в выражении «когда» для сопоставления значений, попадающих в определенный диапазон. Вот пример, в котором буквенная оценка присваивается на основе оценки учащегося:
val score = 85
val grade = when (score) {
in 90..100 -> "A"
in 80 until 90 -> "B"
in 70 until 80 -> "C"
else -> "D"
}
println("Grade: $grade")
Выражение «когда» в Kotlin — мощный инструмент для обработки сложных сценариев ветвления и повышения читаемости кода. Его универсальность позволяет находить краткие и выразительные решения различных задач программирования. Используя методы, обсуждаемые в этой статье, вы сможете использовать весь потенциал выражения «когда» в своих проектах Kotlin, что приведет к более чистому и эффективному коду.