在Swift中使用let获取模式匹配的值

Let x in where

Posted by Joker Hook on April 29, 2022

Switches支持任何类型的数据和各种各样的比较操作——它们不限于整数和等式测试。

import Foundation

let vegetable = "red pepper"

switch vegetable {
    case "celery":
        print("Add some raisins and make ants on a log.")
    case "cucumber", "watercress":
        print("That would make a good tea sandwich.")
    case let x where x.hasSuffix("pepper"):
        print("Is it a spicy \(x)?")
    default:
        print("Everything tastes good in soup.")
}

注意如何在模式中使用let将与模式匹配的值分配给常量。

在匹配的交换机盒中执行代码后,程序将退出交换机语句。执行不会持续到下一个案例,因此您不需要在每个案例代码末尾显式突破开关。