Swift學習筆記(4) 基本運算子

2021-08-09 21:07:19 字數 1524 閱讀 4092

由於其他語言中也有一樣的運算子,我把需要注意的和不太一樣的列了出來,其他相同的就不再贅述。

例子:

9 % 4

// 等於 1

-9 % 4

// 等於 -1

在對負數 b求余時,b 的符號會被忽略。這意味著 a % b 和 a % -b 的結果是相同的。

復合賦值運算沒有返回值,let b = a += 2這類**是錯誤。這不同於上面提到的自增和自減運算子。

(1)所有標準 c 語言中的比較運算子都可以在 swift 中使用。swift 也提供恒等(===)和不恒等(!==)這兩個比較符來判斷兩個物件是否引用同乙個物件例項。

(2)bool 不能被比較。

(3)當元組中的值可以比較時,也可以使用這些運算子來比較它們的大小。比較元組大小會按照從左到右、逐值比較的方式,直到發現有兩個值不等時停止。如果所有的值都相等,那麼這一對元組我們就稱它們是相等的。

(4, "dog") == (4, "dog") // true,因為 4 等於 4,dog 等於 dog

swift 標準庫只能比較七個以內元素的元組比較函式。如果你的元組元素超過七個時,你需要自己實現比較運算子。

空合運算子(a ?? b)將對可選型別 a 進行空判斷,如果 a 包含乙個值就進行解封,否則就返回乙個預設值 b。表示式a 必須是 optional型別。預設值 b 的型別必須要和 a 儲存值的型別保持一致。

let defaultcolorname = "red"

var userdefinedcolorname: string? //預設值為 nil

var colornametouse = userdefinedcolorname ?? defaultcolorname

//由於 userdefinedcolorname 是乙個可選型別,我們可以使用空合運算子去判斷其值。

// userdefinedcolorname 的值為空,賦defaultcolorname的值,所以 colornametouse 的值為 "red"

userdefinedcolorname = "green"

colornametouse = userdefinedcolorname ?? defaultcolorname

// userdefinedcolorname 非空,因此 colornametouse 的值為 "green"

(一)閉區間運算子:a…b

定義乙個包含從 a 到 b(包括 a 和 b)的所有值的區間。

(二)半開區間運算子:a..< b

定義乙個從 a 到 b 但不包括 b 的區間。

實用性:與從0開始的列表(如陣列)相吻合。

swift 邏輯操作符 && 和 || 是左結合的,這意味著擁有多元邏輯操作符的復合表示式優先計算最左邊的子表示式。

基本運算子 Swift學習筆記(五)

注 本文為自己學習the swift programming language的筆記,其中的例子為引用原書和其他博文或自己原創的。每個例子都會批註一些實踐過程中的經驗或思考總結。1.術語 swift的運算子分為一元 二元和三元。一元運算子 字首一元運算子 正號,負號,取反,字首加,字首減等,和字尾一...

Swift 基本運算子

1,zebra 2 true,因為 1 小於 2 3 3 bird 4,dog 4,dog true,因為 4 等於 4,dog 等於 dog blue 1 purple 1 true blue false purple true 錯誤,因為 不能比較布林型別注意 1.bool 不能被比較,也意味著...

Swift 基本基本運算子

swift 1,賦值運算子 swift賦值表示式是沒有值的,不支援連續賦值。2,算術運算子 除數可為0 var f 1 0.0 求餘的結果的正負取決於被除數 3,溢位運算子 根據二進位制來進行計算 var willunderflow uint8.min uint8的最小值 willunderflow...