HSC*_*ER_ -1 switch-statement statements ios swift
我在Swift 3.0中尝试切换语句使用我的代码,无论我的变量是什么,我都得到A. 为什么我只得到A?
var grade = 45
switch grade {
case (grade ..< 100):
print("A")
case (grade ..< 90):
print("B")
case (grade ..< 80):
print("C")
case (grade ..< 70):
print("D")
default:
print("F. You failed")
}
Run Code Online (Sandbox Code Playgroud)
小智 9
switch语句考虑一个值并将其与几种可能的匹配模式进行比较.然后,它根据成功匹配的第一个模式执行适当的代码块.
在您的具体情况下尝试使用:
var grade = 45
switch grade {
case 90 ..< 100: //Numbers 90-99 Use 90...100 to 90-100
print("A")
case (80 ..< 90): //80 - 89
print("B")
case (70 ..< 80): // 70 - 79
print("C")
case (0 ..< 70): // 0 - 69
print("D")
default:
print("F. You failed")//Any number less than 0 or greater than 99
}
Run Code Online (Sandbox Code Playgroud)
与C和Objective-C中的switch语句相比,Swift中的switch语句不会通过每个case的底部进入默认情况下的下一个语句.相反,只要第一个匹配的switch case完成,整个switch语句就会完成执行,而不需要显式的break语句.这使得switch语句比C中的语句更安全,更容易使用,并且避免错误地执行多个switch case.
问候
| 归档时间: |
|
| 查看次数: |
8517 次 |
| 最近记录: |