# Swift 表达式，语句和代码块

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

#### 在本文中，您将学习 Swift 表达式，语句和块。

在上一章中，尽管在每个 Swift 程序中都使用了表达式，语句和块，但并未说明其含义。

在了解了哪些变量之后，运算符将更容易理解这些概念，下面将对其进行详细说明。

* * *

## Swift 表达式

表达式是值，常量，[变量](/swift-programming/variables-constants-literals "Swift variables, constants and literals")，[运算符](/swift-programming/operators "Swift Operators")和[函数](/swift-programming/functions "Swift functions")的组合，它们产生另一个值。 更简单地说，表达式是返回值的任何有效代码。

结果值通常是 [Swift 数据类型](/swift-programming/data-types "Swift Data Types")中的一种，例如整数，字符串和浮点数或更复杂的数据类型作为函数。

### 示例 1：Swift 程序中的表达式

```swift
let someValue:Int = 12
if true && false{
    print("This is false")
} 
```

在上面的程序中，这些表达式是：<samp></samp>

```swift
let someValue:Int = 12 ,
true && false and 
"This is false" 
```

表达式`let someValue:Int = 12`使用赋值运算符`=`在变量`someValue`中赋值十二，并表示内存中的值（12）。

表达式`true && false`使用逻辑和运算符`&&`组合两个布尔值`true`和`false`，而不将结果`false`分配给变量/常量。

同样，`"This is false"`表示字符串表达式。

* * *

## Swift 语句

语句是定义程序应执行的操作的命令。 常见的动作包括声明变量，分配值，调用方法，转移执行的控制流，遍历集合，应用条件等。

语句和表达式之间的区别在于，语句不返回结果，而是针对某些操作执行，而表达式始终返回结果。

如果您已经熟悉其他编程语言，例如 C，C++ ，Java，则在语句的末尾必须出现分号（`;`）。

但是在 Swift 中，在语句末尾写分号是可选的。 但是，如果在同一行上出现多个单独的语句，则需要包括它。

让我们来看一个您已经熟悉的语句的基本示例：

### 示例 2：Swift 语句

```swift
print("Hello, World!")
```

甚至这是有效的：

```swift
print("Hello, World!");
```

在这种情况下，命令打印的意思是“在屏幕上显示”。 在游乐场上编写此代码时，您正在发出命令以在控制台中输出`Hello, World!`。

* * *

Swift 中有三种类型的语句。

### 1.简单语句

这些是 swift 中最常见的语句类型，由表达式或声明组成。

#### 示例 3：Swift 中的简单语句

```swift
let someValue:Int = 12
```

这是一个将值 12 分配给常量`someValue`的简单表达式，也是一条命令，要求以常量`someValue`分配值 12 的语句。

* * *

### 2.编译器控制语句

这些类型的语句使程序可以更改编译器行为的各个方面。 Swift 有以下两个编译器控制语句：

*   **条件编译块**

    条件编译块允许仅根据一个或多个编译条件的值来编译代码。 每个条件编译块均以`#if`开始，以`#endif`结尾。 一个简单的条件编译块具有以下形式：

    ```swift
    #if compilation condition
    Statements
    #endif
    ```

    **示例 4：条件控制语句**

    ```swift
    #if swift(>=4.0)
    print("""
        Hello,
        World
        """)
    #endif
    ```

    条件`swift(>=4.0)`应用于语句`#if#endif`。 结果，仅在编译时 swift 版本大于或等于 4.0 时才执行`print`语句。

*   **行控制语句**

    这种类型的控制语句适用于自动生成源代码的工具。 因此，您永远不会将其用作初学者。 您可以在 *Swift Line Control Statement* 中了解有关它的更多信息。

* * *

### 3.控制流语句

该语句用于控制程序中的执行流程。 Swift 中有几种类型的控制流语句。

1.  **循环语句**：此语句允许重复执行代码块。 例如：`for-in`，`while`，重复`while`等。
2.  **分支语句**：此语句仅在满足某些条件时才允许执行特定代码块。 例如：`if-else`，`guard`，`switch`等。
3.  **控制传递语句**：此语句允许更改代码执行顺序的方法。 例如：`break`，`continue`，`fail`，`throw`，`return`等。

* * *

## Swift 代码块

代码块是用大括号{}括起来的一组语句（零个或多个）。

代码块中的语句包括声明，表达式和其他类型的语句。 它们按照在源代码中出现的顺序执行。

它具有以下形式：

```swift
{
	statements
}

```

### 示例 5：Swift 代码块

```swift
if true{
//start of block
	let sum = 2+3
	print("Result is \(sum)")
//end of block
} 
```

上面的块中有两个语句`let sum = 2+3`和`print("Result is \(sum)")`。