You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Dart中switch语句里的下划线(_)代表什么含义?

Dart中switch语句里的下划线(_)代表什么含义?

嗨,我来给你讲清楚这个下划线的作用!在Dart的switch表达式里,_是个通配符模式,说白了就是个「兜底的万能匹配项」。

拿你提到的这段代码举例:

var isPrimary = switch (color) {
  Color.red || Color.yellow || Color.blue => true,
  _ => false,
};

前面的case专门匹配Color.redColor.yellowColor.blue这三个枚举值,只要color是这三个里的任意一个,就会返回true。而后面的_会接住所有前面case没覆盖到的其他情况——不管color是枚举里的其他值,还是(如果类型允许的话)别的什么值,都会走进这个分支返回false

另外补充两个小细节:

  • 这个通配符特别实用,尤其是处理枚举类型的时候:如果你的switch表达式没有覆盖枚举的所有可能值,编译器会报错,加个_就能完美解决这个问题,确保所有情况都被处理到
  • 其实_在Dart里是个多功能语法:除了switch表达式的兜底匹配,还能用来忽略不需要的变量(比如解构的时候var (_, age) = userInfo;,这里的_就表示我不需要这个位置的值)

火山引擎 最新活动