在下面的比较语句中比较元组,我希望它打印“点在X轴”和“在测试范围内”,但是它在第一个匹配的情况下打印所有的东西。也许我误会了,但我想,在迅捷,落网允许你继续检查案件时,你进入一个案件?
let switchPoint = (1,0)
switch switchPoint
{
case (0,0):
print("origin")
fallthrough
case (_,0):
print("point is on x axis")
fallthrough
case (0,_):
print("point is on y axis")
fallthrough
case (-2...2, -2...2):
print("within test bounds")
fallthrough
default: print("outside test bounds")
}
最佳答案
从apple的documentation on fallthrough:“fallthrough语句导致程序执行从switch语句中的一种情况继续到下一种情况。即使case标签的模式与switch语句的控制表达式的值不匹配,程序仍将继续执行下一个case。”
所以快速的失败符合C行为。