如何简化flutter中的switch语句? 我发现他们在java字符串中有解决方案,它使用console.log,但我在flutter/dart中找不到解决方案。
例如我有下面的代码,是否可以简化? 基本上,它有 3 个变量,有 2 个条件“真/假”
bool checkUposatha = true;
bool newMoonOnly = true;
bool fullMoonOnly = false;
switch (checkUposatha) {
//Uposatha | newMoonOnly | fullMoonOnly
case true:
switch (newMoonOnly) {
case true:
switch (fullMoonOnly) {
case true: //true|true|true
if (mp == 3 || mp == 1) {
print(printresult);
break;
}
break;
case false: //true|true|false
if (mp == 3) {
print(printresult);
}
break;
default: //true|any|any
print(printresult);
}
break;
case false:
switch (fullMoonOnly) {
case true: //true/false/true
if (mp == 1) {
print(printresult);
}
break;
case false: //true/false/false ==> same as default
if (mp == 3 || mp == 1) {
print(printresult);
}
break;
default: //true/any/any
if (mp == 3 || mp == 1) {
print(printresult);
}
break;
}
break;
default: //true/any/any
if (mp == 3 || mp == 1) {
print(printresult);
}
break;
}
break;
case false: //false/false/false
print(printresult);
break;
default: //any/any/any
print(printresult);
break;
}
谢谢!
因此,在这种情况下,您必须使用 if else,并且语言在这里并不重要。因为您想要检查两种方式,例如,如果 newMoonOnly 为 true,您想要检查 fullMoonOnly 的状态,否则如果 newMoonOnly 为 false,您将再次尝试检查 fullMoonOnly 的状态。因此,在这种情况下,我建议在任何语言中使用if else。因为无论是在 c、c++、python 或 swift 中,你都必须使用 if else。