Swift的一些基本属性2 (控制流)

guard 守卫,在 Swift 2.0 推出的语法

 if let 刚好相反

guard let 是在判断之后的分支有效

如果守护的变量 为 nil,直接提示并且返回 可选项的演示

 

  /// if let/var
    func optionDemo3() {
        var x: Int? = 10
        // if let 判断(是否为nil) + 设置数值
        // 分支内部的 num 是一定有值的,可以避免考虑 `!` 的问题
        // num 的作用域只是在 {} 内部
        // 使用频率高!
        if let num = x {
            // num += 10
            print(num)
        }<pre name="code" class="objc"> // 如果在分支内部希望修改数值,可以使用 if var
        if var num = x {
            num += 10
            print(num)
        }
        
        // if let x = x,前面的 x 是一个临时的局部变量,作用域仅在 {}
        // 用处:有的时候,起名字困难!
        if let x = x {
            print("----")
            print(x + 10)
        }

 
 

func optionDemo2() {
        var x: Int? //= 10
        
        // (x ?? 0)
        // 对于可选项 x,如果有值,使用 x 的值
        // 如果没有值,使用 ?? 后面的值替代
        // 正确写法
        print((x ?? 0) + 10)
        
        // ?? 的优先级低,为了不必要的麻烦,一定记住使用 ()
        // 错误的写法
        print(x ?? 20 + 10)
    }
    
    func optionDemo() {
        
        let x: Int? = 10
        
        // 可选项参与计算前需要解包
        // 在 Swift 中,关于 if 语句如果没有写好,可能会非常的丑陋!
        if x != nil {
            print(x! + 10)
        }
    }
    

/// 三目运算
    func demo2() {
        let x = 10
        // 三目运算符在 Swift 中如果使用得当,能够简化代码
        x > 5 ? print("大") : print("小")
        if x > 6 {
            print("大")
        }
        let v = UIView()
        /*
            目的:`()` 表示执行,空的执行
        */
        x > 6 ? print("大") : ()
    }

        let x = 10

    1. 没有 ()

    2. 必须要有 `{}`

    3. 没有单条的 if ,一定要使用 {}

       `{}` 是用来包装一段代码

    4. 很多公司的代码规范中,是不允许不使用 {}

    5. Swift中没有,非零即真,所有的逻辑条件必须指定 true / false    

/

/        if x > 8
//            print("hehe")
//            print("hehe")
        if x > 5 {
            print("大")
        } else {
            // 编译器自动判断分支结构,无法进入
            print("小")
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值