在if里使用where语句是对语句进行约束。
var optionName: String? = "Ricky"
if let name = optionName where name.hasPrefix("R"){
print("\(name)")
}
if语句执行的是把optionName的值赋予常亮name,如果没有值将为false退出if,而在这个语句里,where执行的是判断可选变量optionName的首字母是否为大写’R’,如果为false将退出if。
上述语句可以理解为是一个嵌套的if语句。无论是前面的语句还是后面的where语句,只要其中一个不符合规则,将输出false。