# Swift 运算符

> 原文： [https://www.programiz.com/swift-programming/operators](https://www.programiz.com/swift-programming/operators)

#### 在本文中，您将学习有关 Swift 编程语言中不同类型的运算符，它们的语法以及如何在示例中使用它们的所有知识。

运算符是对操作数（变量和值）进行运算的特殊符号（字符）。 一些基本操作包括分配，更改，组合和检查值。

例如，`+`是执行加法的运算符。

在 [Swift 变量&常量](/swift-programming/variables-constants-literals)文章中，您了解了变量/常量。 现在，在本文中，您将在它们上使用运算符。

* * *

## 运算符的类型

您可以根据以下内容将操作符大致分为两个基本类别：

1.  操作数
2.  运算符的操作

根据运算符要操作的操作数的数量，运算符可以分类为：

## 1.一元运算符

该运算符对单个操作数进行运算。

### 示例 1：一元运算符

```swift
print(!true)
var a = -5
print(-a) 
```

当您运行上述程序时，输出将是：

```swift
false
5
```

* * *

## 2.二元运算符

该运算符对两个操作数进行运算。

### 示例 2：二元运算符

```swift
let result = 20 + 30
print(result) 
```

运行该程序时，输出为：

```swift
50
```

* * *

## 3.三元运算符

该运算符对三个操作数进行运算。 访问 [Swift 三元条件运算符](/swift-programming/ternary-conditional-operator "Swift ternary conditional operator")了解有关它的更多信息。

### 示例 3：三元运算符

```swift
let result = (5 > 10) ? "Value larger" : "Value Smaller"
print(result) 
```

运行该程序时，输出为：

```swift
Value Smaller
```

* * *

根据执行的**操作**，运算符可以分类为：

## 1.赋值运算符

快速使用赋值运算符将值赋给属性（变量/常量）。

Swift 赋值运算符

| 运算符 | 含义 |
| --- | --- |
| `=` | 简单的赋值运算符，将值从右侧操作数赋给左侧操作数 |
| `+=` | 加法赋值运算符，将右操作数添加到左操作数，并将结果赋给左操作数 |
| `-=` | 减法赋值运算符，它从左操作数中减去右操作数，并将结果赋给左操作数 |
| `*=` | 乘法赋值运算符，将右操作数与左操作数相乘并将结果赋给左操作数 |
| `/=` | 除法赋值运算符，它将左操作数除以右操作数，并将结果赋给左操作数 |
| `%=` | 模赋值运算符，它使用两个操作数取模并将结果赋给左操作数 |
| `<<=` | 左移赋值运算符 |
| `>>=` | 右移赋值运算符 |
| `&=` | 按位与赋值运算符 |
| `^=` | 按位异或赋值运算符 |
| <code>&#124;=</code> | 按位运算符和赋值运算符 |

### 示例 4：普通赋值运算符

```swift
let age = 10
let platform = "iOS"
print(age)
print(platform) 
```

运行该程序时，输出为：

```swift
10
iOS 
```

上面的示例将整数值 10 赋给常数`age`。 因此，语句`print(age)`在控制台中输出 10。

同样，语句`let platform = "iOS"`将字符串文字`"iOS"`赋给常量`platform`。 因此，语句`print(platform)`在控制台中输出`iOS`。

### 示例 5：复合赋值运算符

```swift
var x = 10
x -= 2
print(x)
```

运行该程序时，输出为：

```swift
8
```

表达式`x -= 2`使用复合赋值运算符`(-=)`，并且是`x = x - 2`的简写。 该运算符是复合赋值运算符，因为该运算符同时执行任务减法和分配。

您可以在本文[中找到有关按位运算符的示例。Swift 按位运算符](/swift-programming/bitwise-operators "Swift Bitwise operators")。

* * *

## 2.算术运算符

这些运算符用于执行数学运算，包括乘法，除法，加法和减法等。该运算符属于采用两个操作数的二进制运算符。

Swift 算术运算符

| 运算符 | 含义 |
| --- | --- |
| + | 加法（也用于字符串连接） |
| - | 减法运算符 |
| * | 乘法运算符 |
| / | 除法运算符 |
| % | 余数运算符 |

### 示例 6：简单的算术运算

```swift
print(10 + 20)
print(10 - 20)
print(2 * 5)
print(5 / 2 ) //division operator
print(5 % 2 ) //remainder operator
print("I love " + "Swift") //operator can also be used to concatenate string 
```

运行该程序时，输出为：

```swift
30
-10
10
2
1
I love Swift 
```

### 示例 7：算术运算符

您可以使用赋值运算符将结果存储到变量或常量中，如下所示：

```swift
let x = 10 / 5
let y = 3 % 2
print(x)
print(y) 
```

运行该程序时，输出为：

```swift
2
1 
```

* * *

## 3.比较运算符

这些运算符使您可以比较两个值。 每个比较运算符均返回`Bool`值以指示该语句是否为真。 Swift 支持以下类型的比较运算符：

Swift 比较运算符

| 运算符 | 含义 | 示例 |
| --- | --- | --- |
| `==` | 等于 | `5 == 3`求值为`false` |
| `!=` | 不等于 | `5 != 3`求值为`true` |
| `>` | 大于 | `5 > 3`求值为 `true` |
| `<` | 小于 | `5 < 3`求值为`false` |
| `>=` | 大于或等于 | `5 >= 5`求值为`true` |
| `<=` | 小于或等于 | `4 <= 5`求值为`true` |

### 示例 8：比较运算符

```swift
let msg = "Hello"
print(msg == "Hello")
print(msg != "Hello") 
```

运行该程序时，输出为：

```swift
true
false
```

### 示例 9：大于和小于比较运算符

```swift
print(10 > 20)
print(10 < 20)
print(5 >= 5)
print(5 <= 4) 
```

运行该程序时，输出为：

```swift
false
true
true
false 
```

* * *

## 4.逻辑运算符

这些运算符与布尔（逻辑）值一起使用，并返回布尔值。 它主要用于通过`if else`，`while`或其他一些控制语句来控制程序流。

Swift 逻辑运算符

| 运算符 | 含义 | 示例 |
| --- | --- | --- |
| <code>&#124;&#124;</code> | 逻辑或； 如果任一布尔表达式为`true`，则为`true` | <code>false &#124;&#124; true</code>求值为`true` |
| `&&` | 逻辑与； 如果所有布尔表达式均为`true`，则为`true` | `false && true`求值为`false` |

### 示例 10：逻辑运算符

```swift
print(true && true)
print(true && false)
print(false || true) 
```

运行该程序时，输出为：

```swift
true
false
true
```

本文介绍了 Swift 中的一些基本运算符。 但是，Swift 中很少有更高级的运算符，例如[范围运算符](/swift-programming/ranges "Swift ranges")， [Nil 折叠运算符](/swift-programming/optionals#nil-coalescing "Swift Nil-Coalescing operation on optionals")，您将在接下来的教程中学习。

接下来，您将了解 Swift 运算符的[优先级和关联性](/swift-programming/operator-precedence-associativity "Swift operator precedence and associativity")。 简而言之，这是表达式中这些操作的执行顺序。