美文网首页Swift 基础
Swift 循环控制

Swift 循环控制

作者: 幸运者_Lucky | 来源:发表于2020-07-28 17:25 被阅读0次

Fallthrough

首先看一下 C 中的 Switch, 如果在 case 命中的时候, 不使用 break, 会依次走下面的 case, 无论是否匹配, 直到遇到 break, 或者走完整个 switch, 下面代码和输出:

    int a = 10;
    switch (a) {
        case 9:
            printf("%d\n", 9);
            break;
        case 10:
            printf("%d\n", a);
        case 11:
            printf("%d\n", 11);
        case 12:
            printf("%d\n", 12);
        default:
            printf("%s\n", "default");
    }
    printf("%s", "\n");

// print
10
11
12
default

Program ended with exit code: 0

Swift 的 Switch 与 C 的不同的地方在于, 无论是否使用 break, 在命中 case 的时候都会退出, 如果想继续执行 next case, 可以使用 fallthrough, 使用 fallthrough 的效果就和 c case 无 break 一样, 但当 swift 的 next case 没有 fallthrough, 会立刻结束, 如下代码和输出:

let integerToDescribe = 5
var description = "The number \(integerToDescribe) is"
switch integerToDescribe {
case 2, 3, 5, 7, 11, 13, 17, 19:
    description += " a prime number, and also"
    fallthrough
case 99 ... 100:
    description += " 0 ... 100"
default:
    description += " an integer."
}
print(description)

// print
The number 5 is a prime number, and also 0 ... 100

多个嵌套的控制

  1. 使用 continue 和 break 指定某个循环来操作, 如果后面没有具体的循环, 则操作当前的循环.
var a = 0
loop1: while a != 5 {
    a += 1
    print("1run")
    loop2: while a != 5 {
        if a != 5 {
            continue loop1
        }
        print("2run")
    }
    print("11run")
}
print(a)

// print
1run
1run
1run
1run
1run
11run
5
  1. 如果循环中包含 switch , break在 switch 中不指定具体的循环, 就会 break case, switch 中的 continue 不受 switch 影响.
var a = 0
loop1: while a != 100 {
    a += 1
    switch a {
    case 12:
        break loop1
    default:
        break
    }
}
print(a)

// print
12

相关文章

  • 第八章 Swift 循环

    Swift 语言提供了以下几种循环类型 循环控制语句 循环控制语句和OC一样,不通点在于Swift在case条件下...

  • Swift教程之控制流

    控制流 Swift包含很多控制流语句:while循环、if、guard、switch和for-in循环。 For-...

  • Swift 循环控制

    Fallthrough 首先看一下 C 中的 Switch, 如果在 case 命中的时候, 不使用 break,...

  • Swift 循环控制

    for-in 循环 使用 for-in循环来遍历序列,比如一个范围的数字,数组中的元素或者字符串中的字符 for-...

  • Swift循环控制

    for - in 循环 遍历序列,如一个范围内的数字,数组中的元素或者字符串中的字符 for - in 遍历字典 ...

  • Swift控制流

    Swift控制流 for 循环 Swift中使用for-in的形式来进行for循环,类似于C语言的for条件递增的...

  • 控制流(Control Flow)

    swift里面的控制流分为For-In 循环、While 循环、 条件语句、控制转移语句、 提前退出、检测 API...

  • 从 0 到 1 实现 Swift App (二)循环控制

    swift 中的循环控制语法跟 oc 比较有些不同,循环体可以使用开闭区间来进行控制循环体,穿插使用 switch...

  • Swift5.x-函数(中文文档)

    引言 继续学习Swift文档,从上一章节:控制流,我们学习了Swift控制流相关的内容,如for-in循环、whi...

  • Swift3.0控制流(Control Flow)

    Swift提供了多样的流程控制结构,比如"while"、"for"循环,"if"、"switch"、"guard"...

网友评论

    本文标题:Swift 循环控制

    本文链接:https://www.haomeiwen.com/subject/weafrktx.html