運算子(operator)是用於檢查、更改或組合值的特殊符號或短語。例如,加法運算子(+)求兩個數字的加和(用例let i = 1 + 2)。更複雜的例子包括邏輯與(logicaland)運算子&&(用例 if 已輸入門禁密碼 && 已通過視網膜掃瞄) 以及自增運算子 ++i,後者是將 i 儲存的值加上 1 的便捷寫法。
swift 支援標準 c 的大多數運算子,並改進了部分行為特性,以避免常見的編碼錯誤。賦值運算子(=)不會返回值,這樣可避免在打算使用等於運算子(==)的地方誤用前者。算術運算子(+、-、*、/、% 等)會偵測並阻止值溢位,可避免處理超出可儲存值域範圍的數時出現意料之外的結果。如果需要支援溢位,可以選用 swift 的溢位運算子,詳見 溢位運算子。
與 c 語言不同,swift 允許對浮點數求餘(%)。swift 還提供了兩種 c 語言沒有的範圍運算子(a..b 與 a...b),作為表達值域範圍的便捷寫法。 本章講解 swift 中的常用運算子。高階運算子一章涉及了 swift 的高階運算子,並講解了如何自定義運算子,以及讓標準運算子支援自定義型別的運算。
[隱藏]
4組合賦值運算子
5比較運算子
6三元條件運算子
7區間運算子
8邏輯運算子
運算子分為一元、二元以及三元運算子:
運算子操作的值稱為運算數(operands)。在表示式 1 + 2 中,+ 符號是二元運算子,它的兩個運算數為值 1與值 2。
賦值運算子(assignment operator,a = b)用 b 的值初始化或更新 a 的值:
let b
=10var a
=5a = b
// a 的值現在等於 10
如果賦值語句的右側是包含多個值的元組,其元素可一次性提取為多個常量或變數:
let(x
, y)=(1
,2)// x 等於 1,y 等於 2
與 c / objective-c 語言的賦值運算子不同,swift 語言的運算子本身不會返回值。因此下面的語句不正確:
if x
= y
該特性可避免在希望使用等於運算子(==)的地方誤用賦值運算子(=)。通過不承認 if x = y 的有效性,swift 將幫助你避免**中出現這樣的錯誤。
swift 支援對所有數字型別使用四種標準的算術運算子(arithmeticoperator): 1
+2// 等於 35-
3// 等於 22*
3// 等於 6
10.0
/2.5
// 等於4.0
與 c / objective-c 語言的算術運算子不同,swift 的算術運算子預設不允許值溢位。若要支援溢位特性,可以使用 swift 的溢位運算子(如 a &+ b)。參見 溢位運算子。
加法運算子還支援 string 連線:
"hello, "
+"world"
// 等於 "hello, world"
可以將兩個 character 值相加,或將乙個 character 值與乙個 string 值相加,得到新的 string 值:
let dog
: character
="
Swift中文教程(二)基本運算子
by 史薇芙特 2014年6月4日 1 基本運算子 運算子是一種特定的符號或表示式,用來檢驗 修改或合併變數。例如,用求和運算子 可以對兩個數字進行求和 如let i 1 2 稍微複雜一點的例子有邏輯與操作符 如if entereddoorcode passedretinascan 自增長運算子 i...
Swift 教程(二) 基本運算子
swift 支援 c 中的大多數標準運算子,有過 c 語言基礎或者其他語言基礎的都不陌生,在這就不做過多的闡述了。現在說點不一樣的東西,swift 提供了兩張 c 中沒有的區間運算子 a 區間運算子 swift 包含了兩個區間運算子,他們是表示乙個範圍的值的便捷方式。閉區間運算子 a b 定義了從 ...
Swift中文教程1
swift語言概覽 基本概念 注 這一節的 源自the swift programming language中的a swift tour。hello,world 類似於指令碼語言,下面的 即是乙個完整的swift程式。swift使用var宣告變數,let宣告常量。型別推導 swift支援型別推導 t...