(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 不能被比較,也意味著存有布林型別的元組不能被比較。
2. swift 標準庫只能比較七個以內元素的元組比較函式。如果你的元組元素超過七個時,你需要自己實現比較運算子。
空合運算子是對以下**的簡短表達方法:
a !=
nil? a!
: b
上述**使用了三元運算子,當可選型別 a 的值不為空時,進行強制解封(a!),訪問 a 中的值;反之返回預設值 b。無疑空合運算子(??)提供了一種更為優雅的方式去封裝條件判斷和解封兩種行為,顯得簡潔以及更具可讀性。
注意:如果 a 為非空值(non-nil),那麼值 b 將不會被計算。這也就是所謂的短路求值。
let a=
"red"
var b:
string
?// 預設值為 nil
var c = b ?
? a // userdefinedcolorname 的值為空,所以 colornametouse 的值為 "red"
for index in1.
..5// 1 * 5 = 5
// 2 * 5 = 10
// 3 * 5 = 15
// 4 * 5 = 20
// 5 * 5 = 25
let names =
["anna"
,"alex"
,"brian"
,"jack"
]let
count
= names.
count
for i in0.
.<
count
// 第 1 個人叫 anna
// 第 2 個人叫 alex
// 第 3 個人叫 brian
// 第 4 個人叫 jack
乙個包含了陣列從索引 2 到結尾的所有值的區間。在這些情況下,你可以省略掉區間操作符一側的值。這種區間叫做單側區間,因為操作符只有一側有值。
for name in names[2.
..]// brian
// jack
for name in names[..
.2]// anna
// alex
// brian
for name in names[..
<2]
// anna
// alex
你可以檢視乙個單側區間是否包含某個特定的值。
let range =..
.5range.
contains(7
)// false
range.
contains(4
)// true
range.
contains(-
1)// true
注意:
1. 你不能遍歷省略了初始值的單側區間,因為遍歷的開端並不明顯。
2. 你可以遍歷乙個省略最終值的單側區間;然而,由於這種區間無限延伸的特性,請保證你在迴圈裡有乙個結束迴圈的分支。
swift 邏輯操作符 && 和 || 是左結合的,這意味著擁有多元邏輯操作符的復合表示式優先計算最左邊的子表示式。
let a =
true
, b =
false
, c =
true
, d =
false
if a && b || c || d
else
// 輸出「welcome!」
Swift 基本基本運算子
swift 1,賦值運算子 swift賦值表示式是沒有值的,不支援連續賦值。2,算術運算子 除數可為0 var f 1 0.0 求餘的結果的正負取決於被除數 3,溢位運算子 根據二進位制來進行計算 var willunderflow uint8.min uint8的最小值 willunderflow...
Swift語法 基本運算子
1 賦值運算子 與 c 語言和 objective c 不同,swift 的賦值操作並不返回任何值。所以以下 更優化了.if x y算術運算子 2 與 c 語言和 objective c 不同的是,swift 預設情況下不允許在數值運算中出現溢位情況。但是你可以使用 sw ift 的溢位運算子來實現...
Swift 基本運算子之數值運算
運算子是檢查,改變,合併值的特殊符號或短語.例如,加號 把計算兩個數的和 如 let i 1 2 複雜些的執行算包括邏輯與 如 if entereddoorcode passedretinascan 還有自增運算子 i 這樣讓自身加一的便捷運算。下面介紹基礎運算子中的數值運算。swift 讓所有數值...