iOS Swift 学习手册 首页投稿(暂停使用,暂停投稿)iOS学习开发

Swift学习(四:控制流)

2016-07-15  本文已影响38人  爱偷懒的万万
1. For- In循环
    for index in 1...5{
            print (index)
    }

注意:index是一个每次循环遍历开始时被自动赋值的常量。这种情况下不需要声明,只需要将它包含在循环的声明中,就可以对其进行隐式声明,而无需使用let关键字声明。

2.While循环
    repeat {
        statements
    } while condition
3. 条件语句
    var a = 10
    if a <=11{
          print("haha")    
    }else if{
          print("...")
    }                               //haha
4.Switch

每一个 case 都是代码执行的一条分支,这与if语句类似。与之不同的是,switch语句会决定哪一条分支应该被执行。
switch语句必须是完备的。这就是说,每一个可能的值都必须至少有一个case分支与之对应。在某些不可能涵盖所有值的情况下,你可以使用默认(default)分支满足该要求,这个默认分支必须在switch语句的最后面。

    let index : Character = "e"
    switch index {
            case "a","b","c":
                print("hehe")
            case "s","d","f":
                  print("haha")
            default:
                    print("\(index)")
    }

注意:*在 Swift 中,当匹配的 case 分支中的代码执行完毕后,程序会终止switch语句,而不会继续执行下一个 case 分支。这也就是说,不需要在 case 分支中显式地使用break语句。这使得switch语句更安全、更易用,也避免了因忘记写break语句而产生的错误。
每一个 case 分支都必须包含至少一条语句

下面的例子展示了如何在一个(Int, Int)类型的元组中使用值绑定来分类下图中的点(x, y):

    let anotherPoint = (2, 0)
    switch anotherPoint {
        case (let x, 0):
            print("on the x-axis with an x value of \(x)")
        case (0, let y):
              print("on the y-axis with a y value of \(y)")
        case let (x, y):
              print("somewhere else at (\(x), \(y))")
        }
        // 输出 "on the x-axis with an x value of 2"
5.控制转移语句

swift有5种控制转移语句:continue,break,fallthrough,return,throw

Swift 中的switch不会从上一个case分支落入到下一个 case分支中。相反,只要第一个匹配到的 case分支完成了它需要执行的语句,整个switch代码块完成了它的执行。相比之下,C 语言要求你显式地插入break语句到每个switch分支的末尾来阻止自动落入到下一个 case分支中。Swift 的这种避免默认落入到下一个分支中的特性意味着它的switch 功能要比 C 语言的更加清晰和可预测,可以避免无意识地执行多个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."
    }
    print(description)
    // 输出 "The number 5 is a prime number, and also an integer."
上一篇下一篇

猜你喜欢

热点阅读