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) могут.

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

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

score = nil
print(score) // nil

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

challenge icon

Задание

Легко

Напишите функцию 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()"
}
quiz iconПроверьте себя

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

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

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