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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)