Swift学习记录 -- 3. 逻辑分支语句(if , else if ,三目运算 ,guard)

来源:互联网 发布:淘宝整点秒杀 编辑:程序博客网 时间:2024/05/16 15:58

Swift 中 if , else if ,三目运算相较OC来说 , 除了更加精简 , 几乎没有变化 . 只是Swift中新增了 guard判断 , Switch得到大力加强. Switch留到下篇文章进行讲解

       // if用法       // 1. if后面 ()可以省略 , 加上也没错 , 为了精简尽量省略       // 2. 判断句不再有非0即真,判断句必须有明确的真假(BOOL-->true/false),比OC更加严谨        let a = 10        if a > 0 {            print("a大于0")        }else{            print("a小于或等于0")        }
        //else if用法        let score = 92        if score >= 90 {            print("非常优秀")        }else if score >= 80 {            print("优秀")        }else if score >= 70 {            print("良好")        }else if score >= 60 {            print("及格")        }else {            print("不及格")        }
        //三目运算        let m = 5        let n = 3        var result = 0        m > n ? (result = m) : (result = n)        result = m > n ? m : n
        //guard (OC中无)         //和if非常相似 , 目的为提高程序可读性        /*        guard 判断条件  else {         不满足条件执行语句         return / continue / break /throw }         满足条件执行语句       */        //场景1 :        goToNetbar(20)        alsoGoToNetbar(15)        //如果仅仅是这样 , 程序的可读性其实用if语句还更好一些 , 然而如果是多次嵌套判断 ,guard的优势就相当明显 . 比如以下场景 , 一个人去一个收费的公共厕所 , 厕所分男女 , 而且要收费 , 这里我们需要判断一个男子能不能上厕所 .        //场景2 : (嵌套)        //此处只设置了一层嵌套 , 在实际开发中也许我们会遇到多层嵌套 , 这里就不演示了         goToWashroom(0, money: 0.1)        alsoGoToWashroom(1, money: 1.0)
// if语句 : 去上网func goToNetbar(age : Int) {    if age > 18 {        print("满足条件,可以上网")    }else {        print("不能上网")    }}// 这里简单介绍一下Swift中函数的写法 func + 函数名 + 参数 + 返回值 , 更详细说明后面会讲到// guard语句 : 去上网func alsoGoToNetbar(age : Int) -> Void {    guard age > 18 else {        print("不能上网")        return  //如果涉及到循环等会用到continue , break等    }    print("满足条件,可以上网")}// if语句判断 , 此处只是多加了一层判断 , 如果再多几层判断 , 那么可读性就会非常的差了func goToWashroom(sex : Int , money : Double) -> Void {    if sex == 1  {        if money > 0.5 {            print("可以上厕所")        }else{            print("去付钱")            return        }    }else{        print("去女厕所")        return    }}// 如果用 guard 进行判断, 即使有更多的条件判断 , 可读性依然良好 , 这也是OC中没有的func alsoGoToWashroom(sex : Int , money : Double) -> Void {    guard sex == 1 else {        print("去女厕所")        return    }    guard money > 0.5 else {        print("去付钱")        return    }    print("可以上厕所")}
0 0