swift3 控制流

来源:互联网 发布:最好笑知乎 编辑:程序博客网 时间:2024/06/04 19:08

1. for-in循环

for-in循环:执行固定次数的操作,或操作一个序列(如数组)中的每一项.

//序列中的每项都参与. for与in之间加一个代替每项的名.for i in 1...100 {    sum += i}sum //5050//只需循环固定次数,可以省略项名. for _ in 1...3 {    print("学习swift")}

2.while循环

while循环执行一系列操作,直到条件不成立. 使用场合:执行次数未知 格式:while 条件 { 语句 }

var i =  1var sum = 0while i <= 100 {    sum += i    i += 1}sum //5050i   //101

3. if else条件判断

var money = falseif money {    print("买车买房")} else {    print("注孤生")    //打印"注孤生"}

4. 循环中的判断:continue break

continue 结束本次循环, break 结束整个循环

for i in 1...5 {    if i == 3 {        for i in 11...15 {            if i == 13 {                break            }            print(i, terminator: " ")  //输出不换行,以空格隔开        }    }    print(i, terminator: " ")}//输出:1 2 11 12 3 4 5 for i in 1...5 {    if i == 3 {        continue    }    print(i, terminator: " ")}//输出:1 2 4 5 

5.早退语句guard

早退语句: 在必需条件不满足的早期阶段退出执行. 语句关键字 guard, 与if相似. 属于条件强调意味很浓的语句. guard let 与 if let相似,用于可选类型.guard有助于提升代码可读性.

var hascar = truevar credit : Int? = 5   //?就表示允许参数赋值为nilfunc 打的() {    guard hascar else {        print("没有出租车!")        return    }    print("有出租车!")    guard let mycredit = credit , mycredit >= 6 else{        print("客户信用值低!")        return    }    print("欢迎乘坐本公司出租车!")}打的()/*输出:有出租车!客户信用值低!*func checkup(person: [String: String?]) {    // 检查身份证,如果身份证没带,则不能进入考场    guard let id = person["id"] else {        print("没有身份证,不能进入考场!")        return    }    // 检查准考证,如果准考证没带,则不能进入考场    guard let examNumber = person["examNumber"] else {        print("没有准考证,不能进入考场!")        return    }    // 身份证和准考证齐全,方可进入考场    print("您的身份证号为:\(id),准考证号为:\(examNumber)。请进入考场!")}checkup(person: ["id": "123456"]) // 没有准考证,不能进入考场!checkup(person: ["examNumber": "654321"]) // 没有身份证,不能进入考场!checkup(person: ["id": "123456", "examNumber": "654321"]) // 您的身份证号为:123456,准考证号为:654321。请进入考场!

6.switch语句

let 坐标 = (1, 1)    //"坐标在45度对角线"switch 坐标 {case (0, 0):    //条件符合则后面的case跳过,作用与OC一样,只是省略了return    print("原点")case (let x, 0):    //绑定临时变量,以便在执行语句中使用.    print("坐标在X轴上:", x)case (let x, let y) where x == y:   //where判断关键字,符合where后的条件才执行    print("坐标在45度对角线")case (-2...2, -2...2):    print("坐标在2*2范围内")default:    break}

参考自
SwiftV课堂视频源码
http://www.cnblogs.com/Rinpe/p/5221817.html

0 0
原创粉丝点击