Условная конструкция If. Тернарный оператор

Последнее обновление: 29.12.2017

В языках программирования часто бывает необходимо произвести некоторые действия в зависимости от выполнения тех или иных условий. Если определенные условия соблюдаются, то выполнить одни действия, если не соблюдаются, то выполнить другие. И для в языках программирования применяются условные конструкции. Рассмотрим, какие условные конструкции есть в языке Swift.

Конструкция if/else

Конструкция 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.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850