1. 程式人生 > >Swift(四、基本運算子及高階操作符)

Swift(四、基本運算子及高階操作符)

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、運算子函式

這部分在學完函式部分再補充