返回

深入理解 Swift 的运算符:揭秘语言背后的强大功能

IOS

在 Swift 的世界中,运算符是编程语言的基本组成部分,它们赋予代码执行各种操作的能力。运算符就像数学中的符号,用于将值与值、值与变量或变量与变量进行组合和比较。Swift 中的运算符种类繁多,每种运算符都有特定的目的和语法规则。

算术运算符

算术运算符用于执行基本的数学运算,例如加法、减法、乘法、除法和取模运算。这些运算符使用熟悉的符号,例如 +-*/%

let a = 5
let b = 2

print(a + b) // 7
print(a - b) // 3
print(a * b) // 10
print(a / b) // 2.5
print(a % b) // 1

比较运算符

比较运算符用于比较两个值是否相等、不等、大于、小于或介于两个值之间。这些运算符使用符号 ==!=<><=>=

let a = 5
let b = 2

print(a == b) // false
print(a != b) // true
print(a < b) // false
print(a > b) // true
print(a <= b) // false
print(a >= b) // true

逻辑运算符

逻辑运算符用于组合两个或多个布尔值,并根据这些值的真假返回一个布尔值。这些运算符包括 &&(与)、||(或)和 !(非)。

let a = true
let b = false

print(a && b) // false
print(a || b) // true
print(!a) // false
print(!b) // true

赋值运算符

赋值运算符用于将值分配给变量或常量。最常用的赋值运算符是 =,它将右侧表达式的值分配给左侧的变量。此外,Swift 还提供了复合赋值运算符,这些运算符将赋值操作与算术或其他操作相结合。

var a = 5

a += 2 // 等同于 a = a + 2
a -= 3 // 等同于 a = a - 3
a *= 4 // 等同于 a = a * 4
a /= 2 // 等同于 a = a / 2
a %= 3 // 等同于 a = a % 3

位运算符

位运算符用于对二进制位进行操作,例如与、或、异或和移位。这些运算符在低级编程中很有用,例如操纵内存地址或处理位掩码。

let a: UInt8 = 0b11001100
let b: UInt8 = 0b10101010

print(a & b) // 0b10001000
print(a | b) // 0b11101110
print(a ^ b) // 0b01100110
print(a << 2) // 0b1100110000
print(a >> 2) // 0b00110011

自增/自减运算符

自增运算符(++)和自减运算符(--)用于将变量的值分别增加或减少 1。这些运算符通常用作后缀(在变量后面)或前缀(在变量前面)。

var a = 5

a++ // 等同于 a = a + 1
--a // 等同于 a = a - 1

条件运算符(三元运算符)

条件运算符(也称为三元运算符)是一种简洁的方法,用于根据条件表达式求值返回两个值中的一个。该运算符使用以下语法:

condition ? valueIfTrue : valueIfFalse
let age = 18

let message = age >= 18 ? "你已成年" : "你未成年"

print(message) // "你已成年"

范围运算符

范围运算符(...)用于创建包含一组连续值的范围。范围可以用于循环、条件语句和集合中。

for number in 1...10 {
  print(number) // 1, 2, 3, ..., 10
}

字符串插值运算符

字符串插值运算符(\())允许在字符串中插入变量或表达式的值。这是一种方便的方式来创建动态字符串。

let name = "John"
let age = 30

let message = "你好,\(name),你今年 \(age) 岁了。"

print(message) // "你好,John,你今年 30 岁了。"

~= 运算符

~= 运算符是一个特殊的 Swift 运算符,用于比较两个值是否属于同一范围。它类似于 >=<= 运算符,但更灵活。

let range = 1...10

print(5 ~= range) // true
print(11 ~= range) // false

结论

Swift 中的运算符是该语言中功能强大的工具,可以执行各种操作。从简单的算术运算到更高级的位操作,运算符为 Swift 代码提供了灵活性和可读性。通过掌握这些运算符及其使用方式,你可以写出强大且高效的 Swift 代码。