switch 语句是许多 if (x==1) {body} else if (x==5) {body} else if (x==99) {body} 链的有效替代方案。在 switch 语句中,每个主体都是一个语句序列,前面是 case 5: 标签。如果你没有使用 break; 终止该语句序列,那么程序流程将穿透并执行下一个语句序列。这通常是编程错误,因此当您故意这样做时,请使用 [[fallthrough]]; 代替 break;。
switch
if (x==1) {body} else if (x==5) {body} else if (x==99) {body}
case 5:
break;
[[fallthrough]];
有关穿透的更多信息(包括交互式示例)