您的位置:首页 > 移动开发 > Swift

Swift 基本运算符

2019-07-01 13:54 1091 查看
  • 术语

运算符是检查、改变、合并值的特殊符号或短语。
运算符分为一元、二元和三元运算符:

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

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

let b = 10
var a = b

如果赋值的右边是一个多元组,它的元素可以马上被分解成多个常量或变量:

let (x, y) = (1, 2)
// 现在 x 等于 1,y 等于 2
  • 算术运算符

    加法(+)
    减法(-)
    乘法(*)
    除法(/)
    求余(%)

加法运算符也可用于 String 的拼接

"hello, " + "world"  // 等于 "hello, world"
  • 一元负号运算符

一元负号符(-)写在操作数之前,中间没有空格。

let three = 3
let minusThree = -three       // minusThree 等于 -3
  • 一元正号运算符

一元正号符(+)不做任何改变地返回操作数的值

  • 组合赋值运算符
+= -= ++ --
  • 比较运算符(Comparison Operators)
等于(a == b)
不等于(a != b)
大于(a > b)
小于(a < b)
大于等于(a >= b)
小于等于(a <= b)
恒等(===)和不恒等(!==)
  • 每个比较运算都返回了一个标识表达式是否成立的布尔值
  • 如果两个元组的元素相同,且长度相同的话,元组就可以被比较。比较元组大小会按照从左到右、逐值比较的方式,直到发现有两个值不等时停止。如果所有的值都相等,那么这一对元组我们就称它们是相等的,存有布尔类型的元组不能被比较。
  • 注意:
    Swift 标准库只能比较七个以内元素的元组比较函数。
  • 三目运算符(Ternary Conditional Operator)
  • 如果 问题 成立,返回 答案 1 的结果;反之返回 答案 2 的结果。
let c = a > b ? a : b
  • 空合运算符(Nil Coalescing Operator)
var colorNameToUse = userDefinedColorName ?? defaultColorName
userDefinedColorName 有值 用userDefinedColorName 为 nil 用 defaultColorName
  • 区间运算符(Range Operators)

1)闭区间运算符
a…b 包含从 a 到 b(包括 a 和 b)的所有值的区间
2)半开区间运算符
半开区间运算符(a…<b)定义一个从 a 到 b 但不包括 b 的区间。
3)单侧区间

2...
..<2
...5
  • 逻辑运算符(Logical Operators)
逻辑非(!a)
逻辑与(a && b)
逻辑或(a || b)

Swift 逻辑操作符 && 和 || 是左结合的

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: