Swift(四、基本運算子及高階操作符)
阿新 • • 發佈:2019-01-31
1、Swift入門學習筆記(第一版),對Swift的基礎知識點進行梳理總結。知識點一直在變,只是作為參考,以蘋果官方文件為準~
2、在學習完基本的知識點以後會結合官方文件及相關資料,在此版本的基礎上進行新增更改。
四、基本運算子及高階操作符
注:Swift中與C和OC相同的部分本文不作累述
基本運算子
Swift 支援大部分標準 C 語言的運算子,且改進許多特性來減少常規編碼錯誤
1、賦值運算子
賦值符(=)不返回值,以防止把想要判斷相等運算子(==)出錯(=)符導致的錯誤
let a = 1
var b = 2
//if b = a {
// 編譯不通過,其他語言可以通過,b=a不返回值,避免犯錯
//}
2、算數運算子
算術運算子(+,-,*,/,%等)會檢測並不允許值溢位,以此來避免超出範圍的範圍時導致的異常結果
2.1、浮點數取餘操作
var x = 7%2.5
print(x) // 2.0
3、範圍運算子
3.1、閉區間運算子
(a…b) 三個點定義a到b的範圍,包含a,b
for index in 1...5 {
print(index)
}
Output:
1
2
3
4
5
3.2、半開區間運算子
a..
for index1 in 1..<5 {
print(index1)
}
Output:
1
2
3
4
高階操作符
1、位運算子
按位反,位與,位或,位異或此處不講解,對左移右移帶過
x>>a
: x右移a位,無符號整數高位0補位,有符號高位符號位補位
x<<a
:x左移a位,低位補0
2、溢位運算子
當向一個整數賦超過它容量的值是,Swift會報錯而不是生成一個無效的數,更加安全
var potentialOverFlow = Int8.max
//potentialOverFlow += 1 //報錯
此時,可以選擇溢位運算子讓系統在數值溢位時草去截斷操作
溢位加法 &+
溢位減法 &-
溢位乘法 &*
//以溢位加法為例說明
var testOverFlow = UInt8.max
testOverFlow = testOverFlow &+ 1
print(testOverFlow) //值為0
UInt8的範圍是0-255,對255進行+1操作,超出UInt8能容納位數導致數值溢位,留在UInt8邊界內的即為計算結果
注:有符號數值溢位計算要考慮符號位
3、運算子函式
這部分在學完函式部分再補充