跳到主內容

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}) {}
}