先看下简单分支。提示:
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 ?? "老李" + "你好")
}