Swift基础 Switch分支语句

Switch分支语句

在swift中的Switch语句是没有穿透效果的,也就是说不用在每个case语句块末尾再加上break跳出。
传统的Switch在匹配完后,如果没有break,那么还会一一往下再与每个case比较。

switch还可以匹配多个值:

    let index = "A"
    switch index {
    
    
    case "A","B","C":
        print("通过,及格")
    case "D","E":
        print("不通过,不及格")
    default:
        print("无成绩,需参加补考")
    }

switch还可以与区间运算符搭配:

    let score = 59.9
    switch score {
    
    
    case 0.00..<59.99:
        print("不通过,不及格")
    case 60.00..<100.01:
        print("通过,及格")
    default:
        print("无成绩,需参加补考")
    }

switch还可以与元组和where搭配:

    let score = (75,80,55)//定义一个元组
    switch score {
    
    
    case let(语文,数学,德育) where 德育>=60:
        print("可参与评选")
    case let(语文,数学,德育) where 德育<60:
        print("不可参与评选")
    default:
        print("缺少成绩,需参加补考")
    }

Switch分支语句下的fallthrough

fallthrough用于switch分支语句下的条件转移使用了fallthrough会强制执行下一条case语句。

    let index = 202101
    switch index {
    
    
    case 202101:
        print("xiaoMing")
        fallthrough
    case 202103:
        print("xiaoDong")
    case 202102:
        print("xiaoHong")
    case 202103:
        print("xiaoDong")
    default:
        print("")
    }

运行结果:

xiaoMing
xiaoDong

猜你喜欢

转载自blog.csdn.net/kkkenty/article/details/124607000