swift3 控制流

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 =  1
var sum = 0

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

3. if else条件判断

var money = false

if 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 = true
var credit : Int? = 5   //?就表示允许参数赋值为nil

func 打的() {
    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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值