Menu
Coddy logo textTech

Что такое опционалы

Часть раздела Основы путешествия по Swift на Coddy. Урок 11 из 86.

Иногда у переменной вообще может не быть значения. В Swift отсутствие значения обозначается с помощью optionals. Optional означает: «значение есть, и оно равно x» или «значения вообще нет».

Чтобы объявить тип optional, добавьте вопросительный знак ? после типа:

var nickname: String? = "Alex"
var age: Int? = nil

В приведённом выше примере nickname содержит значение "Alex", а age содержит nil: так Swift сообщает, что «нет значения». Обычные переменные не могут быть nil, но опциональные переменные могут.

Представь optional как коробку, в которой может что-то находиться, а может быть пусто. Прежде чем использовать то, что внутри, нужно проверить, действительно ли там что-то есть. Это важная функция безопасности в Swift, которая помогает предотвратить сбои из-за неожиданно отсутствующих значений.

var score: Int? = 100
print(score) // Optional(100)

score = nil
print(score) // nil

Обратите внимание: при печати optional со значением отображается Optional(100), а не просто 100. Чтобы получить фактическое значение внутри, нужно распаковать optional; мы рассмотрим это в следующих уроках.

challenge icon

Задание

Легко

Напиши функцию createOptional, которая принимает number и возвращает строку, показывающую, как этот number выглядел бы при выводе как optional.

Важно: эта функция возвращает String. Ты пишешь текст, который выглядит как optional, а не возвращаешь фактическое значение optional.

Когда ты выводишь optional, содержащий значение, Swift отображает его в формате Optional(value).

Напоминание о синтаксисе функции: в Swift функция, возвращающая значение, использует стрелку -> для указания типа возвращаемого значения и ключевое слово return для возврата результата. Например:

func myFunction(param: Int) -> String {<br>    return "result"<br>}

Ты можешь создать возвращаемую строку с помощью интерполяции строк: "Optional(\(value))": часть \(value) вставляет number непосредственно в строку.

Параметры:

  • value (Int): number, который нужно обернуть в формат optional

Возвращает: строку в формате Optional(value), где value — это предоставленный number.

Пример: если входное значение — 100, верни "Optional(100)"

Попробуйте сами

func createOptional(value: Int) -> String {
    // Вернуть String, который выглядит как optional, а не настоящий optional
    // Вставить число между скобками, используя интерполяцию строк
    return "Optional()"
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Swift