Сделайте свой код более читабельным с помощью «когда» в Kotlin

С тех пор, как появился Kotlin, он стал одним из предпочтительных языков для разработки приложений для Android-разработчиков по всему миру. Люди любят Kotlin по разным причинам: функции расширения, простота в использовании, меньше шаблонного кода, кроссплатформенная поддержка и многое другое.

Тем не менее, многие из нас упускают из виду потенциал маленьких вещей в Котлине. Например, я до сих пор вижу, как многие из моих товарищей по команде иногда используют if и else if вложенные операторы.

С Kotlin у нас может быть уникальное, но простое решение, которое может справиться с множеством проблем. Например, оператор when может заменить все условные операторы в любом проекте Kotlin, если вы достаточно умен, чтобы его использовать.

Без промедления давайте узнаем, как эффективно использовать оператор when в Kotlin.

Заменить If / Else на When

_5 _ / _ 6_ операторов использовались с самого начала программирования. Независимо от платформы / языка разработчики склонны использовать их для условного выполнения.

Благодаря Kotlin нам больше не нужно использовать старый стиль. Оператор when работает со всеми типами условных операторов, включая _8 _ / _ 9_, и их вложенные операторы также могут быть заменены на when.

Давайте рассмотрим простой пример, в котором мы возвращаем эмодзи на основе входной строки. Если вы думаете о написании традиционного письма, мы могли бы сделать следующее:

Мы можем переписать приведенный выше код, используя оператор when в Kotlin. Он обеспечивает лучшую читаемость, чем _12 _ / _ 13_:

Заменить корпус переключателя на Когда

Подобно операторам _14 _ / _ 15_, switch case - один из древних способов работы с условным исполнением. В Kotlin мы можем заменить switch case и _18 _ / _ 19_ на when аналогичным образом, чтобы сохранить согласованность при реализации условного выполнения.

Во-первых, давайте посмотрим, как реализовать приведенный выше пример с switch традиционным способом:

Switch case можно заменить оператором when аналогично _24 _ / _ 25_. Это сделает код более читабельным, последовательным и обеспечит быструю адаптацию для новых разработчиков.

Возвращаемые значения с блоком When

До сих пор вы видели возможность блока when в Kotlin заменять условные операторы. Но он может больше. Например, он может возвращать значения из условных блоков после выполнения необходимых шагов. Посмотри:

Такой тип реализации кода экономит массу времени для разработчиков.

Произвольные условия с когда

Мы можем использовать одну или несколько проверок для выполнения блока с оператором when:

Только один регистр должен соответствовать соответствующему блоку кода, который должен быть выполнен, поэтому запятая действует как оператор OR. В дополнение к этому, блок when выполняет внутренние условия, такие как диапазон (как показано выше).

Использование без аргумента

До сих пор мы использовали when в качестве аргумента. Но реальный потенциал when в том, что мы можем использовать его без каких-либо аргументов, чего я никогда раньше не видел, используя Kotlin. Посмотри:

Он действует как простой блок _32 _ / _ 33_ с условиями переменных уровня класса.

Сравнение экземпляров с когда

Мы также можем проверить, является ли данный оператор экземпляром определенного типа во время выполнения, используя оператор is. Оператор is аналогичен оператору instanceof в Java. Мы можем использовать операторы is и !is внутри блока when. Посмотри:

Преимущества использования когда

  • В Java несколько условных операторов, таких как switch, могут работать только с примитивными типами данных, перечислениями и строковыми классами. Но Kotlin позволяет when использовать с пользовательскими типами. Это делает его более удобным для разработчиков.
  • В отличие от Java, when в Kotlin можно использовать с динамическими значениями, такими как типы возвращаемых функций.
  • Мы также можем проверить, присутствует ли данный аргумент в коллекциях, используя оператор in, который действует как contains.

Бонус

Чтобы узнать больше о Kotlin, прочитайте предыдущие части этой серии Advanced Programming With Kotlin:

Заключение

Это все. Надеюсь, вы узнали что-то полезное.