0Pricing
Swift Academy · Урок

Тернарный условный оператор

Лаконично выбирайте одно из двух значений.

«Тернарный условный оператор» — бесплатный урок 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 — локальная установка не требуется.

Все уроки этого курса

  1. Значения Bool и выражения
  2. Тернарный условный оператор
  3. Как избегать вложенных тернарных операторов
  4. Логические методы и переключение значений
← Назад к Swift Academy