賦值運算符
let b = 10
var a = 5
a = b
//a現在等於
let (x, y) = (1, 2)
//現在 x 等於 1 , y 等於 2
數值運算符
1 + 2 // 等於 3
5 - 3 // 等於 2
2 * 3 // 等於 6
10.0 / 2.5 // 等於 4.0
hello, " + "world" // 等於 "hello, world
浮點數求餘計算
8 % 2.5 // 等於 0.5
自加自減運算
var a = 0
let b = ++a // a 和 b 現在都是 1(先自增再返回)
let c = a++ // a 現在 2, 但 c 是 a 自增前的值 1(先返回再自增)
組合賦值運算符
var a = 1
a += 2 // a 現在是 3
比較運算符
1 == 1 // true, 因爲 1 等於 1
2 != 1 // true, 因爲 2 不等於 1
2 > 1 // true, 因爲 2 大於 1
1 < 2 // true, 因爲 1 小於2
1 >= 1 // true, 因爲 1 大於等於 1
2 <= 1 // false, 因爲 2 並不小於等於 1
“let name = "world"
if name == "world" {
println("hello, world")
} else {
println("I'm sorry \(name), but I don't recognize you")
}
// 輸出 "hello, world", 因爲 `name` 就是等於 "world”
三元條件運算
問題 ? 答案 1 : 答案 2
if question: {
answer1
} else {
answer2
}
let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)
// rowHeight 現在是 90
區間運算符
a...b定義一個包含從a到b的區間
a..b(不包含a,b)
for index in 1...5 {
println("\(index) * 5 = \(index * 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 in 0..count {
println("第 \(i + 1) 個人叫 \(names[i])")
}
// 第 1 個人叫 Anna
// 第 2 個人叫 Alex
// 第 3 個人叫 Brian
// 第 4 個人叫 Jack
邏輯運算符
邏輯非(!a)
邏輯與(a && b)
邏輯或(a || b)