opcionalnye_tipy_opcionaly

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
opcionalnye_tipy_opcionaly [2023/09/11 07:14]
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 - "!": =====+==== 1. Жесткое (прямое) извлечение из опционала - unwraping - "!": ====
  
 var name: Sting? = "Dima" var name: Sting? = "Dima"
Строка 9: Строка 10:
  
 Так можно делать если на 100% уверен что внутри опционала есть значение. Так можно делать если на 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)"))
 +
 +
 +
 +
 +
 +
  
  • /sites/data/attic/opcionalnye_tipy_opcionaly.1694416441.txt.gz
  • Последнее изменение: 2023/09/11 07:14
  • oresh.dm