Inferência de tipos versus tipos explícitos
Quando anotar e quando deixar Dart decidir.
Inferência de tipos versus tipos explícitos é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.
Duas formas de declarar
Você pode escrever o tipo por conta própria ou deixar que o Dart o deduza. Nos dois casos, o resultado é uma variável com tipagem forte.
Os tipos explícitos deixam tudo claro
Uma declaração explícita informa o tipo logo no início. Isso é claro e autoexplicativo para qualquer pessoa que leia seu código.
int total = 42;A inferência de tipos deixa o Dart decidir
Com var, o Dart deduz o tipo a partir do valor à direita. Você escreve menos, mas mantém a mesma segurança, pois o tipo continua fixo.
var total = 42; // inferred intInferência não é dynamic
Inferir não significa deixar o tipo indefinido. Um var ainda recebe um único tipo concreto e rejeita atribuições incompatíveis posteriormente.
var name = "Sam";
// name = 5; // errorQuando declarar explicitamente
Informe o tipo quando o valor, por si só, for ambíguo, como no caso de uma lista vazia, para que os leitores saibam exatamente o que ela armazena.
List<int> scores = [];A inferência lê o literal
O Dart observa o literal que você escreveu: um ponto significa double; sem ponto, significa int. O formato do literal determina a escolha.
var x = 5; // int
var y = 5.0; // doubleOs retornos de funções também são inferidos
Ao chamar uma função, var deduz automaticamente o tipo da variável a partir do tipo de retorno dessa função.
var s = "hi".toUpperCase(); // StringTipos explícitos detectam erros
Declarar um tipo explícito permite que o Dart sinalize imediatamente um valor incorreto, antes mesmo da execução.
int count = "ten"; // compile errorLegibilidade versus concisão
Há uma compensação: os tipos explícitos acrescentam clareza, enquanto a inferência mantém as linhas curtas. Dê preferência à clareza em código compartilhado.
Ambos têm tipagem estática
Qualquer que seja sua escolha, o Dart tem tipagem estática. O tipo é fixado no momento da compilação, e não alterado durante a execução.
Uma regra prática
Deixe o Dart inferir quando o valor for óbvio e escreva o tipo quando isso acrescentar significado. Busque escrever um código que seja autoexplicativo.
Verificação rápida
O que var realmente faz com o tipo de uma variável?
Recapitulação: inferido versus explícito
Você viu que os tipos explícitos documentam a intenção, enquanto a inferência mantém o código curto. Ambos continuam estaticamente tipados e seguros. 👍
Perguntas Frequentes
A aula “Inferência de tipos versus tipos explícitos” é grátis?
Sim — o texto completo de “Inferência de tipos versus tipos explícitos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.
O que vou aprender em “Inferência de tipos versus tipos explícitos”?
Quando anotar e quando deixar Dart decidir. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Dart Academy?
Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Inferência de tipos versus tipos explícitos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Dart Academy?
Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- var, final e const explicados
- Os tipos fundamentais: int, double, String e bool
- Inferência de tipos versus tipos explícitos
- Os tipos dynamic e Object