Inferência de Tipo com 'var'
Parte da seção Fundamentos do Journey de Dart da Coddy — lição 10 de 94.
Em Dart, var permite a inferência de tipo, onde o Dart determina automaticamente os tipos de variáveis a partir dos valores atribuídos.
void main() {
var name = 'Dart Programmer';
print(name);
}Dart infere name como String. Funciona com outros tipos também:
void main() {
var age = 25; // Inferido como int
var price = 19.99; // Inferido como double
var isAvailable = true; // Inferido como bool
print(age); // Saída: 25
print(price); // Saída: 19.99
print(isAvailable); // Saída: true
}Desafio
InicianteCrie um programa em Dart que demonstre inferência de tipo com a palavra-chave var:
- Declare uma variável chamada
nameusandovare atribua a ela o valor de string"Dart" - Declare uma variável chamada
yearusandovare atribua a ela o valor inteiro2011 - Declare uma variável chamada
versionusandovare atribua a ela o valor double2.19 - Declare uma variável chamada
isStronglyTypedusandovare atribua a ela o valor booleanotrue - Imprima cada variável com um rótulo descritivo no seguinte formato:
Language: Dart Created in: 2011 Current version: 2.19 Is strongly typed: true
Sua saída deve corresponder exatamente a este formato.
Folha de consulta
Utilize var para inferência de tipo - Dart determina automaticamente os tipos de variáveis a partir dos valores atribuídos:
var name = 'Dart Programmer'; // Inferido como String
var age = 25; // Inferido como int
var price = 19.99; // Inferido como double
var isAvailable = true; // Inferido como boolExperimente você mesmo
void main() {
// Declare suas variáveis usando var
var name = ?;
var year = ?;
var version = ?;
var isStronglyTyped = ?;
// Imprima as variáveis com rótulos
print("Language: " + name);
print("Created in: " + year.toString());
print("Current version: " + version.toString());
print("Is strongly typed: " + isStronglyTyped.toString());
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 2
Operadores de ComparaçãoAND LógicoOR LógicoNOT LógicoOperadores de Teste de TipoResumo - Fazendo Comparações7Trabalhando com Strings
Concatenação de StringsInterpolação de StringsStrings Multi-linhaPropriedades de StringsMétodos Básicos de Strings10Coleções - Básicos de Mapas
O que são Mapas?Criando um MapaAcessando Valores por ChavePares Chave-ValorObtendo o Tamanho do MapaObtendo as ChavesObtendo os ValoresVerificando se uma Chave Existe2Variáveis e Tipos de Dados Básicos
O que são Variáveis?StringsInteiros (int)Double (double)Booleanos (bool)Inferência de Tipo com 'var'Variáveis finalVariáveis constantesConvenções de NomenclaturaNull Safety BásicaResumo - Declarando Variáveis8Fluxo de Controle - Laços
O Laço 'for'O Laço 'while'O Laço 'do-while'Usando 'break' em LaçosUsando 'continue' em LaçosResumo - Repetindo Código3Operadores Parte 1
Operadores AritméticosDivisão InteiraOperador MóduloIncremento e DecrementoAtalhos de AtribuiçãoResumo - Cálculos Simples6Fluxo de Controle - Tomada de Decisões
A Instrução 'if'A Instrução 'else'A Instrução 'else if'Resumo - Decisões SimplesInstruções 'if' AninhadasA Instrução 'switch'9Coleções - Listas Básicas
O que são Listas?Criando uma ListaAcessando por ÍndiceObtendo o Tamanho da ListaAdicionando ElementosRemovendo ElementosVerificando se uma Lista Está VaziaIterando Sobre uma Lista12Funções Avançadas
Parâmetros Posicionais OpcionaisParâmetros NomeadosParâmetros Nomeados ObrigatóriosValores Padrão de ParâmetrosResumo - Parâmetros de Função15Projeto: Calculadora Simples
ConfigurandoDeclarando Número