首页 > 其他分享 >Swift 关键字总结(一)-guard

Swift 关键字总结(一)-guard

时间:2023-02-26 18:11:06浏览次数:35  
标签:语句 代码 else 关键字 guard 执行 Swift

一.guard

guard是什么?

guard是 swift 2.0推出的新的判断语句的用法。guard语句和if语句类似,都是根据关键字之后的表达式的布尔值决定下一步执行什么。和if语句不同的是,guard语句只有一个代码块,而if语句可有多个代码块。(如 if 、else if、 else)
那么guard到底是什么作用呢?顾名思义,guard是作为保卫作用而存在的。当你不满足我的要求,那么请您出去;如果满足,则执行下一步操作。

 

guard与if相比

与if语句相同的是,guard也是基于一个表达式的布尔值去判断一段代码是否该被执行。与if语句不同的是,guard只有在条件不满足的时候才会执行这段代码。你可以把guard近似的看做是Assert,但是你可以优雅的退出而非崩溃。

guard 的用法

func startGuard(x: Int) {
    guard x > 0 else {
        // 变量不符合条件判断时,执行下面代码
        return
    }
    // 使用x
}

 常用使用场景为, 用户登录的时候, 验证用户是否有输入用户名密码等

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

 

标签:语句,代码,else,关键字,guard,执行,Swift
From: https://www.cnblogs.com/xiyangxixia/p/17157210.html

相关文章

  • 05:控制流:for循环、while循环、guard else 提前退出
    正文for循环、while循环、guardelse提前退出/*for循环*/privatefunctestForLoop(){//1:遍历数组letnames=["Anna","Alex",......
  • selenium2Library中无法查找到Open Broswer等关键字解决办法
    robotframework-selenium2Library与robotframework-seleniumlibrary的版本不一致会导致部分关键字无法识别,无法完成测试,解决办法如下:(1)piplist------先查看以下安装包......
  • mysql描述关键字
    SHOWCOLUMNS要求给出一个表名(这个例子中的FROMtab_1),它对每个字段返回一行,行中包含字段名、数据类型、是否允许NULL、键信息、默认值以及其他信息。   另外可以......
  • Java中的void 关键字
    每次定义一个方法的时候需要定义是否需要返回值 比如赋值的方法 是一个给的过程 不需要返回值 void出现publicvoidsetName(Stringname){this.nam......
  • SwiftUI iOS 16 新的导航类型
    弃用NavigationViewiOS16,iPadOS16,macOS13之后,Apple优化了导航行为,将NavigationView细分为NavigationStack和NavigationSplitView。如果是开发单列的页面(通常......
  • SwiftUI 将toolbar的内容提取为成员变量
    因为toolbar的内容通常写起来是比较长的,且括号比较多,导致body看起来很凌乱。因此我习惯于把toolbar的内容提取成变量。关键:修饰符@ToolbarContentBuilder和返回值someT......
  • CF845F - Guards In The Storehouse
    题意:在\((x,y)\)放一个哨兵,可以监视本行后面的所有格子直到障碍、本列后面所有的格子直到障碍。求使全盘最多一个位置不被监视的方案总数。我们发现,因为\(nm\le250\),......
  • Java基础知识点(类的几个补充注意事项和private关键字)
    一:类的几个补充注意事项1.用来描述一类事物的类,专业叫做javaBean类2.在以前,编写main方法的类叫做测试类,我们可以在测试类中创建javabean类的对象并进行赋值调用。3.类名首字......
  • 关键字补充
    const修饰变量为只读register修饰寄存器变量如果变量被高频繁的使用,会自动将变量存储在寄存器中。目的:提高访问效率如果想将变量直接放入寄存器中,可......
  • in out ref 关键字区别
    in只进不出(只读不写)过程不会改写in的内容,默认的传递方式,即向函数内部传送值,过程只读。out只出不进(只写不读)传入的值不会被过程所读取,out在传入的时候,参数的数值会......