其他人还搜了
图书知识聚合
在2本书中找到答案
- 章节第 6 章 Swift 控制流那么,guard 语句的作用到底是什么呢?顾名思义,就是守护。guard 语句判断其后的表达式布尔值为 false 时,才会执行之后代码块里的代码,如果为 true,则跳过整个 guard 语句。 我们以用户登录系统为例,在用户登录系统时会检查账号和密码,如: unc login(person: [String: String]) { guard let name = person["name"] else { print("请输入账号!") return } print("你好 \(name)!",terminator: "")//不换行 guard let passwd = person["password"] else { print("密码不正确不能登录系统!")
- 章节第 5 章 流程控制与其他语句。 实际上,guard 语句就是个 if 语句,你需要在条件失败时提前退出。 其形式如示例 5-6 所示。 示例 5-6: Swift guard 语句 guard condition else { statements exit} 如你所见,guard 语句只包含一个条件和一个 else 块。 else 块必须要通过 Swift 所提供的任何一种方式跳出当前作用域,如 return、break、continue、throw 或 fatalError 等,只要确保编译器在条件失败时,执行不会在包含 guard 语句的块中继续即可。 这种架构的优雅结果在于,由于 guard 语句确保了在条件失败时退出,所以编译器就知道,如果没有退出,那么 guard 语句后的条件就是成功的了。 这样,guard 语句后条件中的条件绑定就处于作用域中,无须引入嵌套作用域。 比如: guard let s = optionalString else {return}// s is now a String (not an Optional)