Опционалы — это очень важный элемент Swift, которого, кстати, нет во многих других языках программирования. Вы будете встречаться с опциональными значениями практически постоянно во время написания собственных программ. Конечно, после изучения данной темы вы не станете понимать их на 100%, так как просто не знаете многих других механик языка, но «набить руку», немного потренироваться, а самое важное узнать, что такое опционалы — вот самая важная задача данной главы.
Что такое опциональный тип данных?
nil
.
Укажите опционалы с отсутствующим взглядом значением.
var optOne: Int? var optTwo = nil var optThree = "" var optFour: Int! = "" var optFive = 0 var optSix: Int! = nil
Переменные optOne
и oprSix
являются опционалами с отсутствующим значением.
— optTwo
объявлена с ошибкой, т.к. у нее не указан тип данных.
— optThree
— переменная типа String
— optFour
— неверно указан ти или значение (Int
или String
)
— optFive
— переменная типа Int
Какое значение у каждой из приведенных переменных?
var easy: String? var medium: String! var hard: String
Переменные easy
и medium
не имеют значения (nil
).
Выражение с переменной hard
вызовет ошибку, т.к. оно не опционального типа и не имеет значения.
В чем отличие переменных easy
и medium
из предыдущего задания?
В переменной medium
используется косвенное извлечение значения, т.е. в момент обращения у нему оно не должно иметь nil
в качестве значения, т.к. будет автоматически извлечено.
Будет ли корректно выполнен следующий программный код? Если в нем присутствуют ошибки, то по-возможности исправьте их.
easy = "1" medium = "contra" hard = "play game" easy = medium hard = medium easy = hard! easy = hard var gameTuple = (easy, Optional(hard)) var gameText: String = gameTuple.0
Строка 6 вызовет ошибку, т.к. происходит попытка извлечения неопционального значения
Строка 8 вызовет ошибку, т.к. неопционалу присваивается опциональное значения без принудительного извлечения