guard 语法很强大,if能做的guard都能做,反过来,否之。话是这么一说, 其实还是guard的语法规定,决定了与if的不同。
代码代表我的心
每行代码胜过千言万语。
extension HGController {
// if 的用法
fileprivate func ifTest() {
if !status! {
// TODO: 当 status 的值为非真时, 将执行这个分支
// 在这里直接返回了, 但是在 if 语句中这个 return 不是强制的
return // 在这里使用了 return 之后, 功能完全与 guard 一致
}
// TODO: 当 status 的值为真时, 将执行这个分支
}
// guard 的用法
fileprivate func guardTest() {
guard status! else {
// TODO: 当 status 的值为非真时, 将执行这个分支
// 在 guard 语句中 这个 return 是必须要有的, 否则出错
return
}
// TODO: 当 status 的值为真时, 将执行这个分支
}
}
所有想说的, 都在注释中!
网友评论