Swift支持大部分標準C語言的運算符, 且改進許多特性來減少常規編碼錯誤.如賦值符 = 不返回值, 以防止錯把等號 == 寫成賦值號 = 而導致Bug. 數值運算符( + , -, *, /, %等)會檢測並不允許值溢出, 以此來避免保存變數時由於變數大於或小於其類型所能承載的範圍時導致的異常結果 ...
Swift支持大部分標準C語言的運算符, 且改進許多特性來減少常規編碼錯誤.如賦值符 = 不返回值, 以防止錯把等號 == 寫成賦值號 = 而導致Bug. 數值運算符( + , -, *, /, %等)會檢測並不允許值溢出, 以此來避免保存變數時由於變數大於或小於其類型所能承載的範圍時導致的異常結果. 當然允許你選擇使用Swift的溢出運算符來玩溢出. 具體使用請移步溢出運算符.區別於C語言, 在Swift中你可以對浮點數進行取餘運算( % ), 還提供了C語言沒有的表達兩數之間的值的區間運算符, ( a..b 和 a...b ), 這方便我們表達一個區間內的數值.
一、賦值運算符(Assignment Operator)
賦值運算符(a=b)初始化或使用b的值更新a的值
let b = 10
var a = 5
a = b
如果右邊是一個複合值的元組,它的元素可以馬上分解為多個常量或變數值
let (x,y) = (1, 2)
與C語言和Objective-C不同, Swift的賦值操作並不返回任何值. 所以以下表達式是錯誤的:
if x = y {
// this is not valid, because x = y does not return a value
}
這個特性使得你無法把==錯寫成=了, 因為if x = y是錯誤代碼, Swift從底層幫你避免了這些代碼錯誤.
二、數值運算符
Swift支持所有數值類型的四則運算,+,-,*,/
三、求餘運算符
%是求餘運算符,多出來的部分稱為餘數。正負數的取餘結果是相同的。不同於C,OC。swift支持對浮點數取餘。
四、自增和自減運算符
和C一樣, Swift也提供了方便對變數本身加1或減1的自增 ++ 和自減 -- 的運算符. 其操作對象可以是整形和浮點型。
五、區間運算符
Swift提供了兩個方便表達一個區間的值的運算符
1.閉區間運算符
閉區間運算符 a...b 定義一個包含從 a 到 b (包括 a 和 b)的所有值的區間. 閉區間運算符在迭代一個區間的所有值時是非常有用的
for index in 1...5 {
println("\(index) * 5 = \(index * 5)")
}
2.半閉區間運算符
半閉區間運算符在你遍曆數組時非常實用。
let names = ["Anna", "Alex", "Brian", "Jack"] let count = names.count for i in 0..count { println("第 \(i + 1) 個人叫 \(names[i])") }
六、邏輯運算符
邏輯非 !a 邏輯與 a && b 邏輯或 a || b