Swift 运算符


Swift 运算符

Swift 支持所有 C 语言中的标准运算符,例如算术运算符、比较运算符、逻辑运算符等。此外,Swift 还增加了一些新的特殊运算符,例如可选链操作符、Range 运算符等。在 Swift 中,所有的运算符都有固定的优先级和结合性。

算术运算符

+   // 加法运算符
-   // 减法运算符
*   // 乘法运算符
/   // 除法运算符
%   // 取余运算符

算术运算符支持整数、实数和符号类型(正、负)。Swift 会根据运算符中操作数的类型进行类型推断,所以您可以执行不同类型的运算:

let num1 = 10
let num2 = 3
let result = num1 / num2     // 输出 3

比较运算符

==  // 相等运算符
!=  // 不相等运算符
>   // 大于运算符
<   // 小于运算符
>=  // 大于等于运算符
<=  // 小于等于运算符

比较运算符可以将两个值进行比较,并返回布尔值 true 或 false:

let num1 = 10
let num2 = 3
let result = num1 > num2     // 输出 true

逻辑运算符

&&  // 逻辑与运算符
||  // 逻辑或运算符
!   // 逻辑非运算符

逻辑运算符可以将两个布尔值进行逻辑计算,并返回新的布尔值。例如:

let a = true
let b = false
let c = true
let result = (a && b) || c    // 输出 true

赋值运算符

=   // 赋值运算符
+=  // 加等于运算符
-=  // 减等于运算符
*=  // 乘等于运算符
/=  // 除等于运算符
%=  // 取余等于运算符

如同其他编程语言一样,Swift 中的赋值运算符 “=” 可以将右侧的值赋给左侧的变量或常量。Swift 还支持简写形式的赋值运算符:

var num1 = 10
num1 += 5   // 同样的 num1 = num1 + 5,最后输出 15

可选链操作符

?   // 可选链操作符

可选链操作符可以在一个可选值不为 nil 的情况下访问它的属性或方法,否则返回 nil。

例如:

var person: Person?
var name = person?.name    // 现在 name 为 nil

Range 运算符

..<    // 左闭右开的区间
...    // 左右都闭合的区间

Range 运算符用于表示一个范围内的值。"..<" 表示左闭右开区间,例如:

let nums = [1, 2, 3, 4, 5]
let slice = nums[1..<3]    // 输出 [2, 3]

“…” 表示左右都是闭合区间,例如:

let nums = [1, 2, 3, 4, 5]
let slice = nums[1...3]    // 输出 [2, 3, 4]

结论

Swift 中支持所有 C 语言中的标准运算符,并增加了一些新的运算符,例如可选链操作符和 Range 运算符。这些运算符可以让程序员方便地进行各种数学计算、逻辑运算、赋值和区间操作。掌握这些运算符的使用可以大大提高代码的编写速度和代码质量。