zoukankan      html  css  js  c++  java
  • OC与Swift的区别三(条件语句)

    11.swift中的switch结构

    区别一:

    oc中switch条件只可以放整数

    swift中switch条件可以放几乎任何数据类型

    区别二:

    oc中每一个case中应有break,如果没有break,则会继续向下贯穿执行case直到碰见break跳出switch结构

    swift中不需要在case分支最后添加break语句,该case分支执行完成后,会跳出switch结构

    区别三:

    oc中不是每个case后面必须有可执行语句,如果某个case分支中没有可执行语句和break,则该分支将会执行其下面最近的一个有可执行语句的分支中代码,以此实现多条件匹配

    swift中每个case后面必须都有可执行语句,

    ps:此区别是因为区别二的存在,swift中表示多条件匹配的情况使用的语法为,case后跟多个条件,用逗号隔开。

    此外,swift的case中可以填写一个范围作为匹配条件,如case a...b:

    区别三:

    oc中switch中default不是必需的

    swift中switch中default是必需的

    swift中switch语句可以使用where来增加判断条件

    如:

    var point = (10,-10)

    switch point{

      case let(x,y) where x == y :

                 //

          case let(x,y) where x == -y :

                //

           default :

        //

    }

    swift中switch语句可以使用fallthrough关键字来执行贯穿操作,即执行完当前case后,会接着执行fallthrough后面的case活着default语句,类似于oc中case没有写break语句,但是使用了fallthrough,其后面的case条件中将不能定义常量或变量,即fallthrough后面的case条件不能使用类似上面代码中let (x,y) 这样的变量来接收point,否则会有语法错误。

  • 相关阅读:
    接口测试常见bug
    软件测试面试题含答案
    每个测试都该知道的测试用例方法及细节设计
    从“如何测试一个杯子”理解功能、界面、性能、安全测试?
    小白必看:测试人有必要参考的软件测试工作规范
    经验分享:给软件测试人员15个最好的测试管理工具
    DFS路径规划
    Trian(列车调度)
    GAIA
    CSWS_E_ROB深度估计方法
  • 原文地址:https://www.cnblogs.com/yoran-yang/p/4379234.html
Copyright © 2011-2022 走看看