五、Swift3.0之分支、三目、双问号

先看下简单分支。提示:
1、条件不需要()
2、语句必须有{}
--正确的代码规范,禁止不使用{}。因为可能包含两句代码,只会执行第一句。

let x = 10
 if x > 5 {
        print("大了")
 } else {
    //这里会提示:永远不会执行 ---->>>> 编译器编译的时候,会做语法检查。
    print("小了")
 }

三目运算符。

  let x = 10
  //这里执行 print("大了")
  x > 5 ? print("大了") : print("小了")

 //这里什么都不执行,因为()表示什么都不执行
  x > 11 ? print("大了") : ()

双问号操作符。

func demo(x: Int?, y: Int?) {
        //(x ?? 0)或(y ?? 0):这是一个简单的三目。如果有值,直接使用。如果没值,会使用后面的0。
        print((x ?? 0) + (y ?? 0))
}
func demo(x: Int?, y: Int?) {
        let name: String? = "老王"

        //输出结果为:老王你好
        print((name ?? "老李") + "你好")
        
        //输出结果为:老王
        // ?? 的优先级比较低,这里 "老李" + "你好" 是一部分,name是单独一部分。
        //在使用?? 的时候最好用()包裹一下,就像上面一样
        print(name ?? "老李" + "你好")
  }

你可能感兴趣的:(五、Swift3.0之分支、三目、双问号)