Тернарный условный оператор
Лаконично выбирайте одно из двух значений.
«Тернарный условный оператор» — бесплатный урок Swift Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.
Что такое тернарный оператор
Тернарный условный оператор выбирает одно из двух значений на основе условия. Его форма: condition ? valueIfTrue : valueIfFalse.
Это компактная альтернатива простой конструкции if/else.
let isMember = true
let price = isMember ? 8 : 12
print(price)Как его читать
Читайте тернарный оператор как вопрос: «Условие истинно? Если да, используйте первое значение, иначе — второе».
let temperature = 30
let message = temperature > 25 ? "Hot" : "Mild"
print(message)Замена конструкции if/else
Везде, где Вы присваиваете значение в обеих ветвях конструкции if/else, тернарный оператор позволяет сделать то же самое в одну строку.
let count = 0
let status = count == 0 ? "Empty" : "Has items"
print(status)Тернарный оператор в print
Поскольку тернарный оператор является выражением, возвращающим значение, его можно использовать непосредственно внутри вызова функции, например print.
let hour = 14
print(hour < 12 ? "Morning" : "Afternoon")Числовые тернарные выражения
Тернарный оператор работает с любым типом, включая числа. Здесь сумма скидки выбирается на основе условия.
let quantity = 12
let discount = quantity >= 10 ? 5 : 0
let total = quantity * 2 - discount
print(total)Обе ветви имеют один тип
Оба результата тернарного оператора должны иметь один и тот же тип. Нельзя вернуть строку в одной ветви и целое число в другой.
let pass = true
let grade = pass ? "Pass" : "Fail"
print(grade)Тернарный оператор с логическим результатом
Тернарный оператор может возвращать даже логическое значение, хотя для самой логики обычно понятнее использовать операторы.
let level = 3
let unlocked: Bool = level >= 3 ? true : false
print(unlocked)Использование вычисляемых условий
Условием может быть любое логическое выражение, включая комбинацию с && или ||.
let age = 17
let hasPermit = true
let canDrive = (age >= 18 || hasPermit) ? "Yes" : "No"
print(canDrive)Тернарный оператор в интерполяции строк
Тернарный оператор можно встроить в интерполяцию строк, чтобы выбрать слово непосредственно внутри строки.
let apples = 1
let word = apples == 1 ? "apple" : "apples"
print("You have \(apples) \(word)")Присваивание переменной
Один из распространённых вариантов использования — вычислить начальное значение переменной на основе некоторого ввода.
let isDark = true
var background = isDark ? "black" : "white"
print(background)
background = "gray"
print(background)Возврат из функции с помощью тернарного оператора
Функция может напрямую возвращать тернарное выражение, сохраняя тело функции в одной строке.
func label(for score: Int) -> String {
return score >= 50 ? "Pass" : "Fail"
}
print(label(for: 72))
print(label(for: 30))Быстрая проверка
Проверьте свои знания о тернарном операторе.
Итоги: тернарный оператор
Тернарное выражение condition ? a : b — это краткий способ выбрать одно из двух значений. Обе ветви должны иметь один тип, а выражение удобно использовать внутри print, интерполяции и операторов возврата.
let online = false
print(online ? "Connected" : "Offline")Часто задаваемые вопросы
Урок «Тернарный условный оператор» бесплатный?
Да — полный текст урока «Тернарный условный оператор» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.
Чему я научусь в уроке «Тернарный условный оператор»?
Лаконично выбирайте одно из двух значений. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Swift Academy?
Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Тернарный условный оператор»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Swift Academy?
Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Значения Bool и выражения
- Тернарный условный оператор
- Как избегать вложенных тернарных операторов
- Логические методы и переключение значений