Swift switch 语句可以在 case 中有另一个 switch 吗?

Can Swift switch statements have another switch in a case?

我查看了 Apple 的所有文档,以及多个最终用户博客和类似...但没有一个 switch 语句在 [=12= 中包含多行的示例],更不用说另一个switch。我尝试了几种不同的语法,但没有成功,它总是抱怨未使用的闭包。这可能吗?

当然可以

enum Alphabet {
  case Alpha, Beta, Gamma
}

enum Disney {
  case Goofy, Donald, Mickey
}

let foo : Alphabet = .Beta
let bar : Disney = .Mickey

switch foo {
case .Alpha, .Gamma: break
case .Beta:
  switch bar {
  case .Goofy, .Donald: break
  case .Mickey: print("Mickey")
  }
}

是的,嵌套的 switch 语句和 case 中的多行都是可能的。

let firstNumber = 0
let secondNumber = 3

switch firstNumber {

case 0:

    switch secondNumber {

    case 0:
        print("First and second numbers are 0")
    default:
        print("First number is 0, second number is not")

    }

default:

    print("First number is not 0")

}