我一直在阅读有关Swift中Optional的内容,并且看到了一些示例,这些示例if let用于检查Optional是否持有值,并且在可能的情况下–使用未包装的值进行操作。
if let
但是,我已经看到在Swift 2.0中关键字guard let是最常用的。我想知道是否if let已从Swift 2.0中删除或是否仍然可以使用它。
guard let
我应该改变我的计划包含if let到guard let?
if let并guard let达到相似但截然不同的目的。
的“其他”情况guard必须退出当前范围。通常,这意味着它必须调用return或中止程序。guard用于提供早期返回,而无需嵌套其余函数。
guard
return
if let嵌套其作用域,不需要任何特殊的内容。是否可以return。
通常,如果该if-let块将成为该函数的其余部分,或者该else子句的子句中包含a return或abort,那么您应该使用它guard。这通常意味着(至少以我的经验),如果有疑问,guard通常是更好的答案。但是在很多情况下if let仍然合适。
if-let
else