Object-C--->Swift之(四)强大的Switch

简介:

Swift依然继承了C和Object的Switch语句,但在原有的基础上进行了改变,使其变得更加强大

任性的case标签:

case标签可以紧跟多个值
  var score = "C"
    switch score
    {
    case "A","a":
    print("优秀")
        case "B","b":
        print("良好")
    case "C","c":
        print("及格")
    case "D","d":
        print("不及格")

    default:
        print("只能输入单个字符呀")
    }

case标签可以与范围运算符合作

 var score = 80
    switch score
    {
    case 90...100:
    print("优秀")
        case 80..<90:
        print("良好")
    case 60..<80:
        print("及格")
    case 0..<60:
        print("不及格")

    default:
        print("只能输入单个字符呀")
case里面与where语句结合
   case var(name,results) where name=="小明" && results == 100:
    print("小明取得了100分")

声明常量占位符:grade

使用grade可以获取score的值,当不能匹配上面case块时,就会执行最后一个case块,将score变量的值传给grade,这时候就不需要default语句啦。

       var score = 101
    switch score
    {
    case 90...100:
    print("优秀")
        case 80..<90:
        print("良好")
        fallthrough
    case 60..<80:
        print("及格")
    case 0..<60:
        print("不及格")

    case let grade:
        print("你输入的成绩是:\(grade),难道你们不是百分制吗?")
}

Switch不存在隐式贯穿和显式贯穿

解释一下什么意思:Swift语句不再像C和OC那样,不再要求每一个case语句后面显式的加一个break语句。使得Swift变得更加安全、好用。
但是如果我们想用C语言的贯穿风格,这里Swft提供了fallthrough语句,可以方便的回归到C和OC时代。

     var score = 80
    switch score
    {
    case 90...100:
    print("优秀")
        case 80..<90:
        print("良好")
        fallthrough
    case 60..<80:
        print("及格")
    case 0..<60:
        print("不及格")

    default:
        print("只能输入单个字符呀")    

我们在上面代码上加入fallthrough,这次输出的就变成了

                    良好
                    及格  
目录
相关文章
|
6月前
|
安全 Swift C语言
在Swift编程语言中,`switch`语句
在Swift编程语言中,`switch`语句
85 1
|
6月前
|
前端开发 Java 编译器
Object c/swift,java,c/c++在32位和64位各个平台上基本数据类型 所占有的字节数
Object c/swift,java,c/c++在32位和64位各个平台上基本数据类型 所占有的字节数
45 0
|
6月前
|
JavaScript 前端开发
js基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。具体案例使用演示
js基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。具体案例使用演示
73 1
|
6月前
|
JavaScript 前端开发
JavaScript基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。
JavaScript基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。
63 0
|
Swift
Swift - pods中导入的Object-C文件在桥接文件中写入找不到的问题
Swift - pods中导入的Object-C文件在桥接文件中写入找不到的问题
145 0
|
安全 Swift C语言
Object-C---&gt;Swift之(四)强大的Switch
Swift依然继承了C和Object的Switch语句,但在原有的基础上进行了改变,使其变得更加强大 任性的case标签: case标签可以紧跟多个值 var score = "C" switch score { case "A...
776 0
Object-C---&gt;Swift之(五)数组和字典
数组 Swift的数组继承了C、Object-C的功能,目前并没有独特的新功能的添加。 声明数组 泛型语法 Array var myArray:Array 简化语法 [类型] var myArray:Array[Int] 创建数组结构体,并将数组赋值 使用Array的构造器创建数组。
999 0

相关课程

更多