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

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...