我很困惑何时使用guard以及何时使用if...else.
对于If语句,守卫是替代还是替代?主要想知道guardSwift语言语句的功能有哪些好处?
任何帮助清除这种情况将不胜感激.
Muh*_*lah 16
使用警卫可能与使用if似乎没什么不同,但是使用警卫你的意图更清楚:如果你的条件不满足,执行不应该继续.此外,它具有更短,更易读的优点,因此防护是一项真正的改进,我相信它会很快被采用.
使用guard会有一个好处,可能会使它对你更有用:如果你用它来解开任何选项,那些那些未包装的值会留在你身边,供你在其余的代码块中使用.例如:
guard let unwrappedName = userName else {
return
}
print("Your username is \(unwrappedName)")
Run Code Online (Sandbox Code Playgroud)
这与直接if语句相比,其中unwrapped值仅在if块内可用,如下所示:
if let unwrappedName = userName {
print("Your username is \(unwrappedName)")
} else {
return
}
// this won't work – unwrappedName doesn't exist here!
print("Your username is \(unwrappedName)")
Run Code Online (Sandbox Code Playgroud)
https://www.hackingwithswift.com/swift2
| 归档时间: |
|
| 查看次数: |
3347 次 |
| 最近记录: |