代码改变世界

Swift学习笔记(3):基本运算符

2017-05-18 19:27  杨平  阅读(176)  评论(0编辑  收藏  举报

目录:

  • 运算符
  • 元组比较
  • 空和运算符
  • 区间运算符

运算符
+, -, *, /, %, =, +=, -=, *=, /=      算术运算符
>, <, ==, >=, <=, !=                  比较运算符
===, !==                              值恒等运算符
? :                                   三目运算符
??                                    空和运算符
!, &&, ||                             逻辑运算符

 

元组比较

当元组中的元素值可以比较时,元组也可以使用比较运算符进行大小比较。

比较元组大小会按照从左到右、逐值比较的方式,直到发现有两个值不等时停止。如果所有的值都相等,则该对元组相等。

(1, "zebra") < (2, "apple") // true,因为 1 小于 2
(3, "apple") < (3, "bird")  // true,因为 3 等于 3,但是 apple 小于 bird 
(4, "dog") == (4, "dog")    // true,因为 4 等于 4,dog 等于 dog

元组中Bool值不可比较,所以包含Bool变量的元组都不可以比较。 

 

空和运算符

空合运算符( a ?? b )将对可选类型 a 进行空判断,如果 a 包含一个值就进行解封,否则就返回一个默认值 b 。表达式 a 必须是 Optional 类型。默认值 b 的类型必须要和 a 存储值的类型保持一致。

空合运算符是对以下代码的简短表达方法:

a != nil ? a! : b

 

区间运算符

闭区间运算符 a...b 定义一个包含从 a 到 b (包括a和b)的所有值的区间。 a的值不能超过b。

for index in 1...5 {
     print("\(index) * 5 = \(index * 5)")
}
// 1 * 5 = 5
// 2 * 5 = 10
// 3 * 5 = 15
// 4 * 5 = 20
// 5 * 5 = 25

半开区间运算符 a..<b  定义一个从 a 到 b 但不包括 b 的区间。

let names = ["Anna", "Alex", "Brian", "Jack"]
let count = names.count
for i in 0..<count {
    print("第 \(i + 1) 个人叫 \(names[i])")
}
// 第 1 个人叫 Anna
// 第 2 个人叫 Alex
// 第 3 个人叫 Brian
// 第 4 个人叫 Jack

 

声明:该系列内容均来自网络或电子书籍,只做学习总结!