gpt4 book ai didi

swift - 守卫 vs 如果不是

转载 作者:行者123 更新时间:2023-11-28 06:14:04 28 4
gpt4 key购买 nike

我知道 guard 在 Swift 中的作用。我已经阅读了有关使用 guardif let 的问题。但是,guard (condition) else { return } if !condition { return }之间有什么区别吗?他们似乎在做同样的事情。

编辑:这不是在询问 guard letif let。我现在知道 guard letguard 更有用的用法。我只是想问一下简单的 guardif 之间的区别。

最佳答案

如果需要在guard语句中声明变量,则有区别,即

guard let foo = bar else { return }

在这种情况下,您可以在方法的其余部分继续使用 foo 作为非可选。您不能使用简单的 if 语句来做到这一点。

如果您想知道为什么这很方便:

if let because = nobody {
if let likes = pyramids {
if let of = doom {
// guard can help you avoid this!
}
}
}

关于swift - 守卫 vs 如果不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45643526/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com