Swift基礎1.2——基本語法—Optional 可選項
阿新 • • 發佈:2019-01-03
本打算用一篇完整把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 開發時,
??