本打算用一篇完整把Swift的基礎語法寫完,但看了一下以前整理的內容,看來是不可能了。
Optional
是 Swift 的一大特色- 定義變量時,如果指定是
可選的
,表示該變量可以有一個指定類型的值,也可以是 nil
- 定義變量時,在類型後面添加一個
?
,表示該變量是可選的 - 變量可選項的默認值是
nil
- 常量可選項沒有默認值,主要用於在構造函數中給常量設置初始數值
// Optional 可能有兩個值 (None / Some)
// 格式(1. 自動推導):var 變量名: Optional = 值
let x: Optional = 20
// 格式(2. 指定類型):var 變量
let y: Optional<Int> = 30
// 格式(3. 簡化格式):var 變量名: 類型? = 值
let z: Int? = 10
// 可選值在參與計算前,必須`解包 unwarping`
// 只有`解包(unwrap)`後才能參與計算
// 在變量後添加一個 `!`,可以強行解包
// `?` 是用於定義的
// `!` 是用於解包的
print(x! + y! + z!)
- 如果 Optional 值是
nil
,不允許參與計算 - 只有
解包(unwrap)
後才能參與計算 - 在變量後添加一個
!
,可以強行解包
??
運算符
??
運算符可以用於判斷變量/常量
的數值是否是nil
,如果是則使用後面的值替代- 在使用 Swift 開發時,
??
能夠簡化代碼的編寫