【发布时间】:2016-02-17 21:27:22
【问题描述】:
我查看了 Apple 的所有文档,以及多个最终用户博客和类似的文档……但没有一个 switch 语句在 case 中包含多行的示例,更不用说另一个 @ 987654323@。我尝试了几种不同的语法,但不行,它总是抱怨未使用的闭包。这可能吗?
【问题讨论】:
-
请问您能出示您的代码吗?
我查看了 Apple 的所有文档,以及多个最终用户博客和类似的文档……但没有一个 switch 语句在 case 中包含多行的示例,更不用说另一个 @ 987654323@。我尝试了几种不同的语法,但不行,它总是抱怨未使用的闭包。这可能吗?
【问题讨论】:
当然可以
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")
}
【讨论】: