В языках программирования часто бывает необходимо произвести некоторые действия в зависимости от выполнения тех или иных условий. Если определенные условия соблюдаются, то выполнить одни действия, если не соблюдаются, то выполнить другие. И для в языках программирования применяются условные конструкции. Рассмотрим, какие условные конструкции есть в языке Swift.
Конструкция if проверяет истинность некоторого условия и в зависимости от результатов проверки выполняет определенный код:
if условие { // набор действий }
Например:
let num1 = 22 let num2 = 15 if num1 > num2{ print("num1 больше чем num2") }
Здесь если первое число больше второго, то сработает весь код в блоке if, который располагается между открывающей и закрывающей фигурными скобками. Если же первое число окажется меньше второго, тогда действия в конструкции if работать не будут.
Важно, что после слова if в этой конструкции должно идти значение типа Bool. Поскольку результат операции сравнения как раз возвращает логическое значение, то в данном случае ошибок не возникнет. Однако если мы укажем после if просто число или строку, то программа завершится ошибкой, как в следующем случае:
let num1 = 22 let num2 = 15 if num1{ print("num1 больше чем num2") }
Если при проверке условия нам надо выполнить какие-либо альтернативные действия, то мы можем использовать блок else:
let num1 = 22 let num2 = 15 if num1 > num2{ print("num1 больше чем num2") } else{ print("num1 меньше чем num2") }
Но при сравнении чисел мы можем насчитать три состояния: первое число больше второго, первое число меньше второго и числа равны. Используя конструкцию else if, мы можем обрабатывать дополнительные условия:
let num1 = 22 let num2 = 15 if num1 > num2{ print("num1 больше чем num2") } else if (num1 < num2){ print("num1 меньше чем num2") } else{ print("num1 и num2 равны") }
Тернарный оператор аналогичен простой конструкции if и имеет следующий синтаксис:
[первый операнд - условие] ? [второй операнд] : [третий операнд]
В зависимости от условия тернарный оператор возвращает второй или третий операнд: если условие равно true, то возвращается второй операнд; если условие равно false, то третий. Например:
var num1 = 10 var num2 = 6 var num3 = num1 > num2 ? num1 - num2 : num1 + num2
В данном случае num3 будет равно 4, так как num1 больше num2, поэтому будет выполняться второй операнд: num1 - num2
.