📜  Swift表达式,语句和代码块

📅  最后修改于: 2020-10-09 15:48:05             🧑  作者: Mango

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

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

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


迅捷表情

表达式是产生另一个值的值,常量,变量, 运算符和函数的组合。更简单地说,表达式是返回值的任何有效代码。

结果值通常是Swift数据类型之一,例如integer, 字符串和float或更复杂的数据类型作为函数。

示例1:程序中的Swift表达式

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

在上面的程序中,下面是这些表达式:

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

表达式let someValue:Int = 12使用赋值运算符 =在变量someValue中分配值十二,并表示内存中的值(12)。

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

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


迅捷声明

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

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

如果您已经熟悉其他编程语言,例如C,C++,Java,则在语句的末尾必须使用分号(;)

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

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

示例2:Swift语句

print("Hello, World!")

甚至这是有效的:

print("Hello, World!");

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


Swift中有三种类型的语句。

1.简单的陈述

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

示例3:Swift中的简单语句
let someValue:Int = 12

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


2.编译器控制语句

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

  • 条件编译块

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

    #if compilation condition
    Statements
    #endif

    示例4:条件控制语句

    #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. 分支语句 :此语句仅在满足某些条件时才允许执行某些代码块。例如:如果不是,请设置防护装置,开关等。
  3. 控制传递语句 :此语句允许更改代码执行顺序的方法。例如:中断,继续,失败,抛出,返回等。

Swift代码块

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

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

它具有以下形式:

{
    statements
}

示例5:Swift代码块

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

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