Pular para o conteúdo principal

equal_keys_in_map_pattern

Detalhes sobre o diagnóstico 'equal_keys_in_map_pattern' produzido pelo analisador do Dart.

Two keys in a map pattern can't be equal.

Descrição

#

O analisador emite este diagnóstico quando um padrão de mapa contém mais de uma chave com o mesmo nome. A mesma chave não pode ser comparada duas vezes.

Exemplo

#

O código a seguir gera este diagnóstico porque a chave 'a' aparece duas vezes:

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

Correções comuns

#

Se você está tentando comparar duas chaves diferentes, então altere uma das chaves no padrão:

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

Se você está tentando comparar a mesma chave, mas permitir que qualquer um de vários padrões corresponda, então use um padrão de OU lógico:

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

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.