iOS开发笔记之九十二——Swift中的guard关键字

iOS开发笔记之九十二——Swift中的guard关键字,第1张

guard中文有"守护"的意思,guard关键字在官方文档中的具体解释如下:

“A guard statement, like an if statement, executes statements depending on the Boolean value of an expression. You use a guard statement to require that a condition must be true in order for the code after the guard statement to be executed. Unlike an if statement, a guard statement always has an else clause—the code inside the else clause is executed if the condition is not true.”                                                                                

中文的大致意思就是:guard语句类似于if语句,区别是guard语句需要条件为true才会让后面的语句执行,guard语句后面永远有一个else语句块。如果表达式是假或者值绑定失败的时候, 会执行 else 语句块, 且在 else 语句中一定要停止函数调用。guard相比较if算是一种编码级别的优化,否则你将会有一堆甚至嵌套的if语句。

guard语句的语法如下:

guard expression else { 
    //语句
    //必须包含一个控制语句:return,break,continue或throw,否则会编译报错
}

说明:

以上的expression是一个布尔表达式(返回true或者false);如果表达式求值false,guard则执行代码内的语句;如果对表达式求值true,guard则从执行中跳过代码块内的语句。

示例一:常用的一种场景, 用户登录的时候, 验证用户是否有输入用户名密码,如下:

guard let userName = self.userNameTextField.text, let password = self.passwordTextField.text else {
    return
}

示例二:常用的一种场景,if语句的替代使用,如下:

guard let request = request as? SwiftyModelListRequest else {
    return
}

 参考文档:

https://www.cnblogs.com/edensyd/p/9566979.html

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/996996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存