Swift之Guard
2018-11-04 本文已影响9人
XiaoBaa
GitHub Demo: https://github.com/BaHui/BHSwifter
简介
guard
的使用方式和if
语句有点类似, 都是根据其之后的条件的是否成立去执行一段代码块, 但是其只有一块代码段, 与else
结合使用;
执行条件
- 仅当条件表达式为 false 时, 执行代码块; 如果为true,则跳过整个guard语句
- 代码块中结合关键字 return, 不再执行所在函数下面的所有代码
使用示例
override func viewDidLoad() {
super.viewDidLoad()
let person = Person(name: "小张", identifyNumber: "42637488847654667")
// 使用if - else
if person.identifyNumber.isEmpty {
print("if - 无身份证号")
} else {
print("if - 有身份证号")
}
// 输出: if - 有身份证号
// 使用gurad
guard person.identifyNumber.isEmpty else {
print("guard - \(person.name)无身份证号")
return
}
// 输出: guard - 小张无身份证号
}