Оператор when в Kotlin работает следующим образом: он проверяет значение некоторого объекта и в зависимости от его значения выполняет тот или иной код. 2
Формат работы:
Оператор when последовательно сравнивает свой аргумент со всеми указанными значениями, пока не выполнится какое-либо из условий ветвей. 4 При совпадении программа выполняет определённый код в соответствующем блоке. 1
Когда when используется как выражение, то значение первой ветки, удовлетворяющей условию, становится значением всего выражения. 4 При использовании в виде оператора значения отдельных веток отбрасываются. 4
Передавать на сравнение в конструкцию when можно как базовые типы (Int, String, Boolean и так далее), так и более сложные объекты. 1