跳到主内容

equal_keys_in_map_pattern

map 模式中的两个键不能相等。

描述

#

当 map 模式包含多个同名键时,分析器会产生此诊断。同一个键不能匹配两次。

示例

#

以下代码产生此诊断,因为键 'a' 出现了两次

dart
void f(Map<String, int> x) {
  if (x case {'a': 1, 'a': 2}) {}
}

常见修复方法

#

如果您尝试匹配两个不同的键,请更改模式中的其中一个键

dart
void f(Map<String, int> x) {
  if (x case {'a': 1, 'b': 2}) {}
}

如果您尝试匹配同一个键,但允许匹配多个模式中的任意一个,则使用逻辑或模式

dart
void f(Map<String, int> x) {
  if (x case {'a': 1 || 2}) {}
}