将表达式放在case语句中是否有效?我有这个switch case语句。
var switchValue:String = StatusUpdateErrorEvent.UPDATE_ERROR;
switch (switchValue) {
case caseValue: { // it's implied here that (switchValue==caseValue)
}
case StatusUpdateErrorEvent.UPDATE_ERROR: {
}
case event is StatusUpdateErrorEvent && StatusUpdateErrorEvent.UPDATE_ERROR: {
}
// is this what I should do if I add my own expression?
case event is StatusUpdateErrorEvent && StatusUpdateErrorEvent.UPDATE_ERROR==type: {
}
}
当我添加表达式时,抛出switchValue == caseValue表达式时,它不会抛出任何错误?
答案 0 :(得分:1)
switch (switchValue) {
case caseValue:
//1
break;
case StatusUpdateErrorEvent.UPDATE_ERROR:
//2
break;
case event is StatusUpdateErrorEvent && StatusUpdateErrorEvent.UPDATE_ERROR:
//3
break;
case event is StatusUpdateErrorEvent && StatusUpdateErrorEvent.UPDATE_ERROR == type:
//4
break;
}
你需要使用" break;"在每个案件之后。如果没有,则执行>之后的所有其他中断。它也可以"返回;"如果你只想在休息后退出功能。
其他的是你使用" case"以一种非常奇怪的方式,就像它们是否如此。不要像那样把布尔比较放在那里。它是价值观的所在。