Canoe

基本运算符(Swift笔记)

2017.05.26

术语

运算符分为一元、二元和三元运算符:

  • 一元运算符对单一操作对象操作(如 -a)。一元运算符分前置运算符和后置运算符,前置运算符需紧跟在操作对象之前(如 !b),后置运算符需紧跟在操作对象之后(如 c!)。
  • 二元运算符操作两个操作对象(如 2 + 3),是中置的,因为它们出现在两个操作对象之间。
  • 三元运算符操作三个操作对象,和 C 语言一样,Swift 只有一个三元运算符,就是三目运算符(a ? b : c)。

受运算符影响的值叫操作数,在表达式 1 + 2 中,加号 + 是二元运算符,它的两个操作数是值 1 和 2。


赋值运算符

赋值运算符(a = b),表示用 b 的值来初始化或更新 a 的值

let (x, y) = (1, 2)
// 现在 x 等于 1,y 等于 2

Swift 的赋值操作并不返回任何值。所以以下代码是错误的:

if x = y {
    // 此句错误, 因为 x = y 并不返回任何值
}

算术运算符

+,减-,乘*,除/
加法运算符也可以用于String的拼接:

“hello” + “world” //等于“helloworld”

组合赋值运算符

a += 2  //等价于a = a + 2

比较运算符

  • 等于 (a == b)
  • 不等于 (a != b)
  • 大于 (a > b)
  • 小于 (a < b)
  • 大于等于 (a >= b)
  • 小于等于 (a <= b)

比较元组大小会按照从左到右、逐值比较的方式,直到发现有两个值不等时停止。如果所有的值都相等,那么这一对元组我们就称它们是相等的。

注意:

Swift 标准库只能比较七个以内元素的元组比较函数。如果你的元组元素超过七个时,你需要自己实现比较运算符。


三目运算符

问题?答案1:答案2。


空合运算符

a??b表示对可选类型a进行空判断,如果a不为nil就直接取a的值,否则就取b。b和a的类型必须要一致。
完整写法
a != nil? a! : b


区间运算符

闭区间运算符

a…b定义一个包含从a到b(包括a和b)的所有值得区间。a的值不能超过b。

半开区间运算符

a..<b定义一个从a到b但是不包括b的区间。


逻辑运算符

  • 逻辑非 (!a)
  • 逻辑与 (a && b)
  • 逻辑或 (a || b)
Comments
Write a Comment
  • canoe reply

    💪💪💪💪💪💪