首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >斯威夫特的卫士关键字

斯威夫特的卫士关键字
EN

Stack Overflow用户
提问于 2015-06-12 05:09:02
回答 5查看 119.9K关注 0票数 198

Swift 2引入了guard关键字,该关键字可用于确保各种数据配置就绪。我在this website上看到的一个示例演示了一个submitTapped函数:

代码语言:javascript
复制
func submitTapped() {
    guard username.text.characters.count > 0 else {
        return
    }

    print("All good")
}

我想知道使用guard是否与使用if条件的老式方法有什么不同。它会给你带来好处吗?这是你通过简单的检查不能得到的?

EN

回答 5

Stack Overflow用户

发布于 2015-06-12 05:37:46

if不同,guard创建可从其块外部访问的变量。展开大量的Optional是很有用的。

票数 38
EN

Stack Overflow用户

发布于 2015-06-12 05:12:07

一个好处是消除了大量嵌套的if let语句。15:30左右观看WWDC“Swift的新特性”视频,其中标题为“末日金字塔”。

票数 7
EN

Stack Overflow用户

发布于 2016-03-04 22:32:33

与if语句类似,guard根据表达式的布尔值执行语句。与if语句不同,guard语句仅在不满足条件时运行。您可以认为guard更像是一个断言,但您可以优雅地退出,而不是崩溃。

请参阅:http://ericcerney.com/swift-guard-statement/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30791488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档