when в Kotlin — это универсальный структурный оператор, который заменяет классический switch в других языках. Он может использоваться как выражение (возвращая значение) или как оператор.
Основные возможности:
Сравнение значений: Сопоставление с конкретными значениями.
kotlin
Проверка на тип (is/!is): Сопоставление с типами данных.
Проверка на вхождение (in/!in): Проверка вхождения в диапазон или коллекцию.
kotlin
Без аргумента: Используется как более гибкая замена цепочки if-else if-else. Условия выполняются последовательно.
kotlin
Возврат значения: Если when используется как выражение, он должен быть исчерпывающим (покрывать все возможные случаи или иметь ветку else).
when повышает читаемость и безопасность кода по сравнению с традиционным switch.