Swift2-0基础_ControlFlow(控制流)

来源:互联网 发布:nginx 远程无法访问 编辑:程序博客网 时间:2024/05/24 04:52
import Foundationprint("Hello, World!")// 控制流/*    Swift 提供了类似 C 语言的流程控制结构,        包括可以多次执行任务的 forwhile 循环,        基于特定条件选择执 行不同代码分支的 if 、 guard 和 switch 语句,        还有控制流程跳转到其他代码的 breakcontinue 语句。    除了 C 语言里面传统的 for 循环,Swift 还增加了 for-in 循环,用来更简单地遍历数组(array),字典(dic tionary),区间(range),字符串(string)和其他序列类型。    Swift 的 switch 语句比 C 语言中更加强大。        在 C 语言中,如果某个 case 不小心漏写了 break ,这个 case 就 会贯穿至下一个 case,Swift 无需写 break ,所以不会发生这种贯穿的情况。        case 还可以匹配更多的类型模式,包括区间匹配(range matching),元组(tuple)和特定类型的描述。         switchcase 语句中匹配的值可以是由 case 体内部临时的常量或者变量决定,也可以由 where 分句描述更复杂的匹配条件*/// 循环for var i = 0; i<5; i++ {    }var set : Set = [1,2,3]for item in set {    }let condition = truewhile condition {    }// while 循环的另外一种形式是 repeat-while ,它和 while 的区别是在判断循环条件之前,先执行一次循环的代码块,然后重复循环直到条件为 false// 类似于 do-whilevar num = 1repeat {    print("yes")} while num == 1// 条件if num == 1 {    print("lalalala")} else {    }switch num {case 1:    print("1")    fallthrough // 贯穿case 2:    breakcase 3:    breakcase 0..<2:    breakdefault:    break}// 提前退出/*    像 if 语句一样, guard 的执行取决于一个表达式的布尔值。我们可以使用 guard 语句来要求条件必须为真时,以执行 guard 语句后的代码。    不同于 if 语句,一个 guard 语句总是有一个 else 分句,如果条件不为真则执 行 else 分句中的代码*/let defaultNum = 1func greet() {    guard num == defaultNum else {        // ...        return    }}// 检测 API 可用性/*      可用性条件指定了在 iOS 系统上, if 段的代码仅会在 iOS 9 及更高版本的系统上执行;    在 OS X,仅会在 OS X v10.10 及更高版本的系统上执行。    最后一个参数, * ,是必须写的,用于处理未来潜在的平台*/if #available(iOS 9, *) {    // 在 iOS 使用 iOS 9 的API} else {    // 使用先前的版本的接口}
0 0
原创粉丝点击