Pular para o conteúdo principal

prefer_foreach

Saiba mais sobre a regra de lint prefer_foreach.

Estável
Correção disponível

Use forEach para aplicar uma função a todos os elementos.

Detalhes

#

FAÇA usar forEach se você for apenas aplicar uma função ou um método a todos os elementos de um iterável.

Usar forEach quando você vai apenas aplicar uma função ou método a todos os elementos de um iterável é uma boa prática, porque deixa seu código mais conciso.

RUIM:

dart
for (final key in map.keys.toList()) {
  map.remove(key);
}

BOM:

dart
map.keys.toList().forEach(map.remove);

NOTA: Substituir uma instrução for each por uma chamada a forEach pode mudar o comportamento no caso de haver efeitos colaterais no próprio iterável.

dart
for (final v in myList) {
  foo().f(v); // This code invokes foo() many times.
}
​
myList.forEach(foo().f); // But this one invokes foo() just once.

Ativar

#

Para ativar a regra prefer_foreach, adicione prefer_foreach em linter > rules no seu arquivo analysis_options.yaml:

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_foreach

Se você usa a sintaxe de mapa YAML para configurar as regras de lint, adicione prefer_foreach: true em linter > rules:

analysis_options.yaml
yaml
linter:
  rules:
    prefer_foreach: true

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ê.