伪代码
int i=10
switch(i)
case 1:
print(1);
case 10:
print(10);
case 20:
print(20);
直观地说,这将打印10.但由于没有break语句,这将打印10和20。
是否有其他人认为这种语言错误?
答案 0 :(得分:2)
并非每种语言都允许在switch
语句中使用。维基百科上有一个brief section。
continue
关键字break
来结束每个case
块,但允许您将空块组合在一起:switch
详尽无遗之外,Swift不允许通过并具有强大的模式匹配系统。 switch
语句有各种各样的要求。不是每种语言都一样!几个小例子:
// C#
switch (i) {
case 1:
case 2:
// you can group empty case blocks together
break; // but must end with break
case 3:
// do something else
break;
}
// Swift
switch i {
case 1: // match 1
case 2,3: // match 2 or 3
case 4...10: // match 4 to 10 (inclusive)
case let n where n % 2 == 0: // match an even number and assign it to n
default: // must be exhaustive
}