opcionalnye_tipy_opcionaly

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
opcionalnye_tipy_opcionaly [2023/09/11 07:12]
oresh.dm
opcionalnye_tipy_opcionaly [2023/09/11 07:41] (текущий)
oresh.dm
Строка 1: Строка 1:
-  * nil - полное отсутствие какого-либо значения, аналог Null, не пустая строка, не пустое значение... Что то типа вакуума ) +nil - полное отсутствие какого-либо значения, аналог Null, не пустая строка, не пустое значение... Что то типа вакуума ) 
-  var name: Sting? = nill + 
 +var name: Sting? = nill  
 + 
 +==== 1. Жесткое (прямое) извлечение из опционала - unwraping - "!": ==== 
 + 
 +var name: Sting? = "Dima" 
 + 
 +print("\(name!)"
 + 
 +Так можно делать если на 100% уверен что внутри опционала есть значение. 
 + 
 +==== 2. Мягкое извлечение из-под опционала с помощью ответвлений ==== 
 + 
 +==== 3. Оператор объединения по nil / Оператор оционального связывания ==== 
 + 
 +  var name: String? = nil 
 + 
 +  var defaultName = "Gost'" 
 + 
 +  let nameForGreating = name ?? defaultName 
 + 
 +  print("\(nameForGreating)"
 + 
 +Проверка идет слева направо. сначала проверяется опционал, если там есть значение -х берем его, иначе значение из второй переменной "defaultName" 
 + 
 +==== Пример работы с тернальным оператором: ==== 
 + 
 +var name: String = "Dima" 
 + 
 + 
 +var age:Int? = 37 
 + 
 + 
 +age != nil ? (print("Имя \(name),возраст \(age!)")) : (print("Имя \(name)")) 
 + 
 + 
 + 
 + 
 + 
  
-  * 1. Жесткое (прямое) извлечение из опционала - unwraping - "!": 
-  * var name: Sting? = "Dima" 
-  * print("\(name!)") 
-  * Так можно делать если на 100% уверен что внутри опционала есть значение. 
-  *  
  • /sites/data/attic/opcionalnye_tipy_opcionaly.1694416368.txt.gz
  • Последнее изменение: 2023/09/11 07:12
  • oresh.dm