swift较OC特有的条件&循环语句

2017-01-04  本文已影响22人  BetterComingDay
在程序开发过程中,如果要使用可选值,需要先用if判断它是否有值,
如果有值,才能对它强制解包进行取值,如果为nil,则不能强制解包。
这样写程序比较繁琐,为了让代码更简洁,swift推出了if-let语法

一切尽在注释中。

func test(){
    // MARK: if-let 语句
    let age:Int? = 15
    if age == nil || age! > 18{
        print("age为空或age大于18岁")
        return
    }
    //这里可以使用age
    print(age!)
    
    //这里一段代码可以代替上边的代码
    if let myAge = age, myAge < 18 { //swift3 用逗号代替了 swift2中的where
        //这里使用age
        print(myAge)
    }
    
    //guard语句与if语句有点类似,不同的是,它只有一个代码块,并且只会在表达式判断为false时执行后续代码块,否则会跳过整个guard语句。
    //注意guard语句的else中一定要有返回的语句,如return、continue、break、throw等提早退出的关键字
    // MARK: guard 语句
//    guard 1>2 else {
//        print("判断语句为false")
//        continue
//    }
    
    // MARK: guard-let 语句
    guard let meAge = age, meAge > 18 else {
        print("age小于18")
        return
    }
    //guard-let变量的作用域 比 if-let的作用域要大奥
    print(meAge)
}
test()

特有的循环语句就是repeat-while,跟do-while语法一模一样,不做赘述了。

上一篇 下一篇

猜你喜欢

热点阅读