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,这次输出的就变成了

                    良好
                    及格  
目录
相关文章
|
9月前
|
前端开发 Java 编译器
Object c/swift,java,c/c++在32位和64位各个平台上基本数据类型 所占有的字节数
Object c/swift,java,c/c++在32位和64位各个平台上基本数据类型 所占有的字节数
62 0
|
9月前
|
安全 Swift C语言
在Swift编程语言中,`switch`语句
在Swift编程语言中,`switch`语句
108 1
|
9月前
|
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)等。
79 0
|
9月前
|
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)等。具体案例使用演示
96 1
|
Swift
Swift - pods中导入的Object-C文件在桥接文件中写入找不到的问题
Swift - pods中导入的Object-C文件在桥接文件中写入找不到的问题
168 0
SWIFT中用Switch case 类类型
有时觉得SWIFT的语法真的强大而又变态,不说了,直接上代码瞅瞅: 首先先定义一个交通工具的父类 class Vehicle{     var wheels:Int!     var speed:Double!     init(wheels:Int,speed:Double){         self.
871 0
|
Swift iOS开发
swift UI专项训练33 Switch开关
     开关我们都很熟悉了,平时在iPhone的使用中也经常遇到,主要用来在程序中开启或禁用某项设置。
1009 0
|
对象存储
openStack 对象存储object storage swift
环境管理网络 Create initial rings  before starting the object storage services,you must create the initial account,container,and object rings; 1.
981 0
|
Swift
Object-C---&gt;Swift之(一)元组(tuple)类型
元组(tuple)类型 元组(tuple)使用圆括号把多个值组成一个复合值,里面的每个值可以是任意类型,而且它们之间可以不同类型。 格式 变量或常量关键字 元组变量 = ( 变量,变量, …) 保存某个信息表上的一行信息,可以创建一个元组 var in...
736 0