gpt4 book ai didi

Swift:guard let 与 if let

转载 作者:行者123 更新时间:2023-11-30 12:48:20 29 4
gpt4 key购买 nike

我一直在阅读有关 Swift 中的Optional 的内容,并且看到过一些示例,其中 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:guard let 与 if let,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41326708/

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