賦值運算符
//常量賦值
let name = "老王"
///變量賦值
var age = 34
//元組賦值
let (name, age) = ("老王", 34)
數值運算
和大多數語言一樣,swift也支持加減乘除四則運算,以及秋雨(%)運算
1 + 2 //加法
3 - 1 //減法
2 * 3 //乘法
6 / 3 //除法
9 % 2.5 //取余
自增(自減)運算
var age = 33
++age //34
--age //33
復合賦值
Swift也支持+=,-=,*=等這類將運算符和賦值運算組合的操作。例如(++)其實就能看做+=1
比較運算
Swift支持的比較運算如下:
- 等于 a == b
- 不等于 a != b
- 大于 a > b
- 小于 a < b
- 大等于 a >= b
- 小等于 a <= b
- 恒等 a === b
- 不恒等 a !== b
三元運算符號
三元運算符: (表達式1)?(表達式2):(表達式3)
let a = 1
let b = 2
let c = b > a ? 3 : 4
//如果b大于a,c等于3,反之c等于4
空合運算符
空合運算符( a ?? b )將對可選類型 a 進行空判斷,如果 a 包含一個值就進行解封,否則就返回一個默認值 b 。表達式 a 必須是 Optional 類型。默認值 b 的類型必須要和 a 存儲值的類型保持一致。 空合運算符是對以下代碼的簡短表達方法:
a != nil ? a! : b
上述代碼使用了三目運算符。當可選類型 a 的值不為空時,進行強制解封(a!),訪問 a 中的值;反之返 回默認值 b 。無疑空合運算符( ?? )提供了一種更為優 的方式去封裝條件判斷和解封兩種行為,顯得簡潔以 及更具可讀性。
**注意: **如果 a 為非空值( non-nil ),那么值 b 將不會被計算。這也就是所謂的短路求值。
區間
Swift提供兩種區間的表達方式
- 全閉區間: 1...5,包含了1,2,3,4,5五個值
- 半閉區間: 1..<5,包含了1,2,3,4四個值
邏輯運算
Swift支持邏輯與、邏輯或、邏輯非3個標準的邏輯運算
- 邏輯非 !a
- 邏輯或 a || b
- 邏輯與 a && b
括號優先級
Swift也和其他語言一樣,支持括號優先級
//優先執行a + b,他們的和再除以d
let a = ( b + c ) / d