Menu
Coddy logo textTech

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

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

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

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

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(100), а не просто 100. Чтобы получить доступ к фактическому значению внутри, вам нужно развернуть (unwrap) опционал — это мы разберем в следующих уроках.

challenge icon

Задание

Легко

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

Когда вы выводите опционал, содержащий значение, 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)"

Шпаргалка

В Swift опционалы представляют отсутствие или наличие значения. Опционал может либо содержать значение, либо быть nil.

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

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

Обычные переменные не могут быть nil, а опционалы — могут. Используйте nil для представления «отсутствия значения»:

var score: Int? = 100
score = nil

При выводе опционала со значением Swift отображает его как Optional(value):

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

score = nil
print(score) // nil

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

func createOptional(value: Int) -> String {
    // Напишите код здесь
}
quiz iconПроверьте себя

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

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