gpt4 book ai didi

Swift:守卫 let 与 if let

转载 作者:IT王子 更新时间:2023-10-29 04:56:25 27 4
gpt4 key购买 nike

我一直在阅读有关 Swift 中的 Optionals 的文章,并且我看到了一些示例,其中 if let 用于检查 Optional 是否包含一个值,如果它包含 - 对未包装的值执行一些操作.

但是,我看到在 Swift 2.0 中主要使用关键字 guard let。我想知道 if let 是否已从 Swift 2.0 中删除,或者它是否仍然可以使用。

我应该将包含 if let 的程序更改为 guard let 吗?

最佳答案

if letguard let 具有相似但不同的目的。

guard 的“else”情况必须退出当前作用域。通常这意味着它必须调用 return 或中止程序。 guard 用于提供提前返回,而不需要嵌套函数的其余部分。

if let 嵌套了它的范围,并且不需要任何特殊的东西。它可以返回或不返回。

一般来说,如果 if-let block 将成为函数的其余部分,或者它的 else 子句将有一个 return 或中止,那么您应该改用 guard。这通常意味着(至少根据我的经验),当有疑问时,guard 通常是更好的答案。但是在很多情况下 if let 仍然是合适的。

关于Swift:守卫 let 与 if let,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32256834/

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