Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
opcionalnye_tipy_opcionaly [2023/09/11 07:14] oresh.dm |
opcionalnye_tipy_opcionaly [2023/09/11 07:41] (текущий) oresh.dm |
||
|---|---|---|---|
| Строка 3: | Строка 3: | ||
| var name: Sting? = nill | var name: Sting? = nill | ||
| - | ===== 1. Жесткое (прямое) извлечение из опционала - unwraping - " | + | ==== 1. Жесткое (прямое) извлечение из опционала - unwraping - " |
| var name: Sting? = " | var name: Sting? = " | ||
| Строка 10: | Строка 10: | ||
| Так можно делать если на 100% уверен что внутри опционала есть значение. | Так можно делать если на 100% уверен что внутри опционала есть значение. | ||
| + | |||
| + | ==== 2. Мягкое извлечение из-под опционала с помощью ответвлений ==== | ||
| + | |||
| + | ==== 3. Оператор объединения по nil / Оператор оционального связывания ==== | ||
| + | |||
| + | var name: String? = nil | ||
| + | |||
| + | var defaultName = " | ||
| + | |||
| + | let nameForGreating = name ?? defaultName | ||
| + | |||
| + | print(" | ||
| + | |||
| + | Проверка идет слева направо. сначала проверяется опционал, | ||
| + | |||
| + | ==== Пример работы с тернальным оператором: | ||
| + | |||
| + | var name: String = " | ||
| + | |||
| + | |||
| + | var age:Int? = 37 | ||
| + | |||
| + | |||
| + | age != nil ? (print(" | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||