swift switch case的用法
Swift 中的 switch
语句非常灵活,可以处理多种不同的情况。下面是一些 switch
语句的复杂用法:
- 匹配值和范围: 可以使用
case
子句来匹配特定的值或值范围。
swiftlet number = 3
switch number {
case 1:
print("Number is 1")
case 2:
print("Number is 2")
case 3:
print("Number is 3")
case 4 where number >= 2 && number <= 4:
print("Number is between 2 and 4")
default:
print("Number is not 1, 2, 3 or between 2 and 4")
}
- 匹配值和类型: 使用
where
子句可以匹配特定的值和类型。
swiftlet animal = "Dog"
switch animal {
case let food where food.hasSuffix("et"):
print("Small animal food")
case let food where food.hasSuffix("um"):
print("Large animal food")
default:
print("Unknown animal")
}
- 匹配值和判断语句: 可以在
case
子句中使用判断语句来匹配特定的值。
swiftlet number = 5
switch number {
case let x where x > 5:
print("Number is greater than 5")
case let x where x < 5:
print("Number is less than 5")
default:
print("Number is 5")
}
- 使用
where
子句进行更复杂的匹配:where
子句可以与其他控制流语句结合使用,以实现更复杂的匹配逻辑。
swiftlet number = 8
switch number {
case let x where x > 5 && x < 10:
print("Number is between 6 and 9")
case let x where x > 10:
print("Number is greater than 10")
default:
print("Number is less than or equal to 5")
}
这些是一些使用 Swift 中 switch
语句的复杂示例。你可以根据需要组合这些用法来处理各种不同的情况。
15:30
swift switch case break
在 Swift 中,switch
语句不会自动中断。这意味着,即使在一个 case
子句中已经满足条件并且执行了相应的代码,Swift 编译器仍会继续检查后续的 case
子句。如果希望在满足某个特定条件时终止 switch
语句的执行,可以使用 break
语句。
以下是一个使用 break
语句在 switch
语句中终止执行的示例:
swiftvar fruit = "apple"
switch fruit {
case "apple":
print("This is an apple")
break
case "banana":
print("This is a banana")
break
default:
print("Unknown fruit")
}
在这个例子中,当 fruit
的值是 "apple" 或 "banana" 时,相应的 case
子句会被执行,然后使用 break
语句中断 switch
语句的执行。如果 fruit
的值是其他字符串,那么 default
子句会被执行。
注意,在 Swift 中,switch
语句中的 case
子句必须以逗号分隔,并且在每个 case
子句的末尾使用 break
语句来显式中断执行。如果忘记了写 break
,Swift 编译器会给出警告。
漫思