• Welcome to Swift (苹果官方Swift文档初译与注解二十九)---209~218页(第四章-- 流程控制)


    Break

      break语句会立刻结束整个流程控制的执行.break语句可以在switch语句或者循环语句中帮助你提前结束循环或者switch的执行.

    Break in a Loop Statement  (循环语句中的break)

      当在循环语句中使用break,会立刻结束循环的执行,并且跳转到循环体之后的第一行代码.循环不会再遍历执行了.

    Break in a Switch Statement (switch语句的break)

      当在switch语句中使用break,break会立刻结速switch,并跳转到switch语句大括号(})后的第一行代码.

      这种方式可以用来忽略一个或者多个case.由于switch语句执行的时候,不可以有空的case,因此有时候需要忽略一个case.你可以将break语句作为case的整个执行体来忽略这个部   分;一旦switch匹配到这个case的时候,break语句会立刻结束switch的执行.

      注意点:

      一个switch case 如果只有注释,会报编译器错误.注释不是语句,也不会让case被跳过,如果要忽略这个case就要break语句.

      请看下面代码例子:

        let numberSymbol: Character = "三"  // Simplified Chinese for the number 3

        var possibleIntegerValue: Int?

        switch numberSymbol {

        case "1", "١", "一", "๑":”

        possibleIntegerValue = 1

               case "2", "٢", "二", "๒":

          possibleIntegerValue = 2

          case "3", "٣", "三", "๓":

           possibleIntegerValue = 3

          case "4", "٤", "四", "๔":

          possibleIntegerValue = 4

        default:

            break

        }

        if let integerValue = possibleIntegerValue {

            println("The integer value of (numberSymbol) is (integerValue).")

        } else {

            println("An integer value could not be found for (numberSymbol).")

        }

        // prints "The integer value of 三 is 3."

      这个代码中,检查numberSymbol,是否是Latin, Arabic, Chinese, 或者 Thai 四种语言中的1至4的中的一个数字.如果匹配到了,switch的case语句就会设置一个Int?类型的可选变量  possibleIntegerValue来处理对应的值.

      在switch语句执行完之后,代码中使用可选绑定来确定这个值是否找到.变量possibleIntegerValue有一个隐式初始化的nil值,因此如果可选绑定能够判定成功,possibleIntegerValue变  量在switch中的四个case必须设置一个实际的值.

      上面代码例子中,罗列出所有可能的字符是不实际的.因此,deafult的case语句处理所有不匹配的情况,default的case没有执行任何操作,只是使用了break语句来结束switch执行.

    Fallthrough (降落)

      在Swift中,switch语句里,不会从一个case执行后再处理后面的一个case,一直到底部case.相反地,整个switch语句在第一个匹配的case完成之后就会结束执行,在C语言的switch中,  通过给每个case中插入break来防止这种掉落执行.Swift避免这种默认的降落执行是为了更加准确和可预见性,这样可以避免错误的执行多个case.

      如果你真的需要像C语言那也顺序降落的执行case,你可以使用关键字fallthrough.

      下面的代码例子使用关键字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

        default:

            description += " an integer."

        }

        println(description)

        // prints "The number 5 is a prime number, and also an integer.”

      注意点:

      关键字fallthrough不会检测switch的case条件,它仅降落的执行.像C语言中的那样,从一个case代码执行完后,直接执行下一个case代码块.

  • 相关阅读:
    File类 文件过滤器
    LinkedList类的基本方法的用法
    Execption异常 手动和自动抛除异常
    Xshell连接Linux慢问题解决办法
    Liunx网络技术管理及进程管理
    Liunx中三种网络模式配置及Xshell连接
    LInux命令英文全称
    Liunx中fstab文件详解
    20190411RAID磁盘阵列及CentOS7系统启动流程
    20190410Linux中磁盘管理及LVM(week2day1)
  • 原文地址:https://www.cnblogs.com/caios/p/3834457.html
Copyright © 2020-2023  润新知