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")
}
我查看了 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")
}