You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:12:26