Swift語法 基本運算子

2021-07-09 16:44:28 字數 1903 閱讀 1753

1:賦值運算子

與 c 語言和 objective-c 不同,swift 的賦值操作並不返回任何值。所以以下**,更優化了.

if x == y
算術運算子

2:與 c 語言和 objective-c 不同的是,swift 預設情況下不允許在數值運算中出現溢位情況。但是你可以使用 sw ift 的溢位運算子來實現溢位運算(如 a &+ b )。詳情參見:高階運算子-溢位運算子 。

3:加法運算子獨特使用:

「+」也可以用來字串拼接

"hello, " + "world" // 等於 "hello, world"
4:不同於 c 語言和 objective-c,swift 中是可以對浮點數進行求餘的。

8 % 2.5

// 等於 0.5(double)

5:組合賦值運算子

復合賦值運算沒有返回值 。這不同於自增和自減運算子。詳情參見:表示式章節裡有復合運算子的完整列表。

var a = 1

a += 2

// a 現在是 3

let b = a += 2//這類**是錯誤

6: 比較運算子

swift 也提供恒等 === 和不恒等 !== 這兩個比較符來判斷兩個物件是否引用同乙個物件例項。詳情參見:在類與結構.

******************************====

7:空合運算子

定義:空合運算子( a ?? b )將對可選型別 進行空判斷,如果 包含乙個值就進行解封,否則就返回乙個預設值 .

這個運算子有兩個條件:

• 表示式 a必須是optional型別

• 預設值 b的型別必須要和 儲存值的型別保持一致

栗子:

a != nil ? a! : b//上述**使用了三目運算子。當可選型別 a 的值不為空時,進行強制解封( a! )訪問 a 中值,反之當 a 中值為空 時,返回預設值b。
let defaultcolorname = "red"

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

var colornametouse = userdefinedcolorname ?? defaultcolorname

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

8:區間運算子

swift 提供了兩個方便表達乙個區間的值的運算子。

閉區間運算子:

定義:閉區間運算子( a…b )定義乙個包含從 a 到 b (包括 a 和 b )的所有值的區間, b 必須大於等於 a 。

用途:迭代乙個區間的所有值

for index in

1...5

半開區間運算子

定義:半開區間( a..

let names = ["anna", "alex", "brian", "jack"]

let count = names.count

for i in

0..print("第 \(i + 1) 個人叫 \(names[i])") }

8:邏輯運算

• 邏輯非(!a)

• 邏輯與( a && b )

• 邏輯或( a || b )

可以用()來明確優先順序,與其他語言一樣,不多說了

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...

Swift 基本運算子之數值運算

運算子是檢查,改變,合併值的特殊符號或短語.例如,加號 把計算兩個數的和 如 let i 1 2 複雜些的執行算包括邏輯與 如 if entereddoorcode passedretinascan 還有自增運算子 i 這樣讓自身加一的便捷運算。下面介紹基礎運算子中的數值運算。swift 讓所有數值...