zoukankan      html  css  js  c++  java
  • Swift guard 关键字

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

    guard expression else { 
        //语句
        //必须包含一个控制语句:return,break,continue或throw。
    }
    
    这里,expression是一个布尔表达式(返回true或者false)。
    如果对表达式求值false,guard则执行代码块内的语句。
    如果对表达式求值true,guard则从执行中跳过代码块内的语句
    

    为啥有if ... else ... 还要用guard ?

     
    class CloseRange {
    
        let start: Int
    
        let end: Int
    
        init?(startValue: Int , endValue: Int) {
    
            guard startValue < endValue else {
    
                print("结束值(endValue) 应大于 起始值(startValue)")
    
                return nil
    
            }
    
            self.start = startValue
    
            self.end = endValue
    
        }
    
    }
    
    let customRange = CloseRange(startValue: 3, endValue: 5)
    if let customRange = customRange {
        print("第一个对象的起始值是:(customRange.start)")
    }
    
    let customRange2 = CloseRange (startValue: 5, endValue: 3)
    if let customRange = customRange2 {
        print("第二个对象的起始值是:(customRange.start)")
    }else{
        print("第二个对象是空对象");
    }
    
    打印:
    结束值3 应大于 起始值5
    
    第二个对象是空对象
    
    此文仅为鄙人学习笔记之用,朋友你来了,如有不明白或者建议又或者想给我指点一二,请私信我。liuw_flexi@163.com/QQ群:582039935. 我的gitHub: (学习代码都在gitHub) https://github.com/nwgdegitHub/
  • 相关阅读:
    java实现RSA非对称加密
    lombok中的@Builder注解
    java实现大文件的分割与合并
    IDEA新建springboot选择DevTools
    bat命令自动配置java环境变量
    java实现发送邮件
    随记
    编译原理学习——FIRST和LASTVT
    国王的游戏
    JAVA类加载及NEW对象的过程
  • 原文地址:https://www.cnblogs.com/liuw-flexi/p/12869810.html
Copyright © 2011-2022 走看看