如何解决Dart中switch-case的"Expected an identifier, but got ':'"错误
Dart Switch-Case语法错误修复
你碰到的Error: Expected an identifier, but got ':'错误,核心原因是switch-case的语法格式写错了:
- 所有
case : 数字的写法完全不符合Dart语法规范,正确格式应该是case 具体值:,把值放在case后面、冒号前面 default :里的冒号前不需要加空格,正确写法是default:
修正后的完整代码如下:
void main() { int day = 5; switch (day) { case 1: { print("Monday"); } break; case 2: { print("Tuesday"); } break; case 3: { print("Wednesday"); } break; case 4: { print("Thursday"); } break; case 5: { print("Friday"); } break; case 6: { print("Saturday"); } break; case 7: { print("Sunday"); } break; default: { print("There is no day like this"); } break; } }
另外补充一点:Dart里case后的大括号其实可以省略,代码可以更简洁,比如:
case 1: print("Monday"); break;
内容的提问来源于stack exchange,提问作者Alp Hayri Özkan
相关产品推荐
相关产品推荐

