Что такое опциональные значения
Часть раздела Основы путешествия по Swift на Coddy. Урок 11 из 86.
Иногда у переменной вообще может не быть значения. В Swift отсутствие значения обозначается с помощью опционалов. Опционал означает: «значение есть, и оно равно x» или «значения вообще нет».
Чтобы объявить опциональный тип, добавь знак вопроса ? после типа:
var nickname: String? = "Alex"
var age: Int? = nilВ примере выше nickname содержит значение "Alex", а age содержит nil: так в Swift обозначают «отсутствие значения». Обычные переменные не могут быть равны nil, а опционалы могут.
Представь опционал как коробку, в которой может что-то лежать, а может быть пусто. Прежде чем использовать содержимое, нужно проверить, действительно ли там что-то есть. Это важная функция безопасности в Swift, которая помогает предотвратить сбои из-за неожиданно отсутствующих значений.
var score: Int? = 100
print(score) // Optional(100)
score = nil
print(score) // nilОбрати внимание: когда ты выводишь опционал со значением, отображается Optional(100), а не просто 100. Чтобы получить доступ к фактическому значению внутри, нужно извлечь значение из опционала. Это мы рассмотрим в следующих уроках.
Задание
ЛегкоНапиши функцию createOptional, которая принимает число и возвращает строку, показывающую, как это число выглядело бы при выводе в виде опционала.
Важно: эта функция возвращает String. Ты создаёшь текст, который выглядит как опционал, а не возвращаешь настоящее опциональное значение.
Когда ты выводишь опционал, содержащий значение, Swift отображает его в формате Optional(value).
Напоминание о синтаксисе функции: В Swift функция, возвращающая значение, использует стрелку ->, чтобы указать тип возвращаемого значения, и ключевое слово return, чтобы вернуть результат. Например:
func myFunction(param: Int) -> String {<br> return "result"<br>}
Ты можешь сформировать возвращаемую строку с помощью интерполяции строк: "Optional(\(value))": часть \(value) вставляет число непосредственно в строку.
Параметры:
value(Int): число, которое нужно обернуть в формат опционала
Возвращает: строку в формате Optional(value), где value — переданное число.
Пример: Если входное значение — 100, верни "Optional(100)"
Попробуйте сами
func createOptional(value: Int) -> String {
// Верните String, который выглядит как optional, но не является настоящим optional
// Вставьте число между скобками с помощью интерполяции строк
return "Optional()"
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: простая математикаОператоры сравнения7Основы ввода-вывода
Функция printИнтерполяция строкВвод с ReadLineПреобразование типовПовторение: до 120Повторение: истина или ложь2Переменные
Let и VarАннотации типовЧислаСтрокаЛогический типСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор разделения счёта
Приветственное сообщениеВвод данных14Массивы: продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опциональные значения
Что такое опциональные значенияИзвлечение значения с помощью if letGuard letОператор объединения с nilПовторение — безопасное извлечение значения6Принятие решений
Условный оператор ifIf — ElseПовторение: простой калькуляторОператор switchSwitch с диапазонами9Циклы
Цикл for-inЦикл whileЦикл repeat-whileПрерывание циклаПереход к следующей итерацииПовторение — факториалДиапазоны в циклахВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Swift