Знаете ли вы, что вы можете заменить это простое if-else заявление в Swift:

let money = 100

if money > 0 {
    print("Some money")
} else {
    print("No money")
}

с этим аккуратным однострочным выражением?

money > 0 ? print("Some money") : print("No money")

Это возможно благодаря так называемому тернарный условный оператор в Свифте.

Полный синтаксис

Для вашего удобства вот структура тернарного оператора:

condition ? true_expression : false_expression

Где:

  • состояние это выражение, которое имеет значение true или false.
  • истинное_выражение — это фрагмент кода, который выполняется, если условие истинно.
  • ложное_выражение — это фрагмент кода, который выполняется, если условие оценивается как ложное.

Как это использовать?

Тернарный условный оператор предлагает сокращение, которое является полезным способом замены простого if-else заявления.

Однако не стоит делать код менее читабельным, злоупотребляя однострочным оператором if-else.

Таким образом, вам следует использовать его только для действительно простых операторов if-else.

Предыдущий пример в этом посте — идеальный способ его использования. Это достаточно простой оператор if-else, который можно превратить в однострочный оператор.

После сокращения выражения код по-прежнему читается, но становится короче.

Простой if else можно преобразовать в однострочный.  Но не делайте этого, если это усложнит чтение кода.

Кстати, нет ничего плохого в том, чтобы никогда не использовать в коде однострочные операторы if-else.

Я даже слышал, как некоторые разработчики конвертировали эти выражения обратно в исходные операторы if-else всякий раз, когда они встречали их в базе кода.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *