可選項 Optional
可選項可能有兩個值:none、some
定義常量缰雇、變量時入偷,如果指定是可選的,表示該變量寓涨、常量可以有一個指定類型的值盯串,也可以是nil
定義常量、變量時戒良,在類型后面加上一個
?
体捏,表示變量是可選的變量可選項的默認值是nil
常量可選項沒有默認值
定義可選項的方式:
// 原始的可選項定義
let x: Optional = 10
let y: Optional<Int> = 30
// 簡單定義
// ?用來定義 z糯崎,是一個可選的Int類型几缭,可能沒有值,也可能有一個整數(shù)值
let z: Int? = 40
// 可選值在參與計算之前沃呢,必須解包
// 在變量后面加個 年栓! 可以強行解包
// 強行解包:從可選值中強行獲取對應的非空值,如果真的是 nil薄霜, 就會崩潰
// 最常見錯誤:Unexpectedly found nil while unwrapping an Optional value某抓,在解包的時候發(fā)現(xiàn)了nil值
print(z!) //Optional(30)
print(x!) // 10
print(y!) // 40
print(x! + y!) // 50