本教程屬於Swift系列
可選型别是Swift的一個重要特性。
當你不確定一個值是否存在,你可以將其聲明為可選型别。
可選型别將另一個值包裹在內,具有自己的型别。或者也可能不包裹值。
我們可以在型别後面加上一個問號來聲明一個可選型别,像這樣:
var value: Int? = 10
現在value不是一個Int值,而是一個包裹了Int值的可選型别。
要查找可選型别是否包裹了值,你必須進行解包。
可以使用一個感嘆號來進行解包,像這樣:
var value: Int? = 10
print(value!) //10
Swift方法常常返回可選型别。例如,Int
型别的初始化器接受一個字符串,並返回一個Int可選型别:
這是因為它不知道這個字符串能否轉換為一個數字。
如果可選型别不包含值,則評估為nil
,並且無法進行解包:
nil
是一個特殊的值,不能賦值給一個變數,只能賦值給可選型别:
通常在代碼中使用if
語句來解包值,像這樣:
var value: Int? = 2
if let age = value {
print(age)
}