var_ with_ no_ type_ annotation
Detalhes sobre o diagnóstico 'var_with_no_type_annotation' produzido pelo analisador do Dart.
Avoid declaring parameters with var and no type annotation.
NOTA: Esta regra foi removida no Dart 3.13.0; ela não funciona mais.
Descrição
#
O analisador gera este diagnóstico quando um parâmetro é declarado usando a
palavra-chave var sem uma anotação de tipo.
Esse padrão deve ser evitado, pois provavelmente será um erro de compilação em
uma versão futura do Dart. Além disso, usar var sem um tipo explícito faz o
parâmetro ter o tipo dynamic, desabilitando a verificação de tipos estática
para esse parâmetro.
Exemplos
#
O código a seguir gera este diagnóstico porque o parâmetro x é declarado com
var:
// @dart=3.12
void f(var x) {
print(x);
}
O código a seguir gera este diagnóstico porque o parâmetro formal inicializador
x é declarado com var:
// @dart=3.12
class C {
int x;
C(var this.x);
}
Correções comuns
#
Se você sabe qual é o tipo desejado para o parâmetro, então substitua var por
uma anotação de tipo:
void f(String x) {
print(x);
}
Se você não sabe ou não quer um tipo específico para o parâmetro, então substitua
var por Object? ou dynamic, para tornar explícita a falta de um tipo mais
específico:
void f(Object? x) {
print(x);
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
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ê.