Опционалы — это очень важный элемент 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 вызовет ошибку, т.к. неопционалу присваивается опциональное значения без принудительного извлечения