快速使用以下语法进行流控制
if let constantName = someOptional { statements }
在这种情况下 ,真值上下文的语义是什么 ?
是否允许 表达式链接 (如下所示)?
if let constantName = someOptional && constantName2 = someOptional2 { statements }
如果是这样,布尔表达式是否会短路?
首先someOptional检查它是否为零或是否有数据。如果为零,则不会执行if语句。如果有数据,则将数据解包并分配给constantNameif语句的范围。然后执行括号内的代码。
someOptional
constantName
无法在一个if语句中链接此功能。let constantName = someOptional不直接评估为布尔值。最好将“ if let”视为一个特殊关键字。
let constantName = someOptional