Operadores de Teste de Tipo
Parte da seção Fundamentos do Journey de Dart da Coddy. Lição 26 de 94.
Os operadores de teste de tipo do Dart verificam os tipos de variáveis em tempo de execução: is verifica se uma variável corresponde a um tipo, enquanto is! verifica se não corresponde.
void main() {
var number = 42;
var isInteger = number is int;
print('Is $number an integer? $isInteger');
}void main() {
var price = 9.99;
var isNotInteger = price is! int;
print('Is $price not an integer? $isNotInteger');
}void main() {
var value1 = 'Hello';
var value2 = 42;
var value3 = true;
print('$value1 is a String: ${value1 is String}');
print('$value2 is a double: ${value2 is double}');
print('$value3 is a bool: ${value3 is bool}');
}Desafio
FácilCrie um programa Dart que use os operadores de teste de tipo (is e is!) para verificar tipos de variáveis:
- Crie uma variável
numbercom o valor42usando inferência de tipo (var) - Crie uma variável
decimalcom o valor3.14usando inferência de tipo - Crie uma variável
textcom o valor"Hello"usando inferência de tipo - Crie uma variável
activecom o valortrueusando inferência de tipo - Use o operador
ispara verificar se cada variável é do seu tipo correto (int, double, String, bool) - Use o operador
is!para verificar se cada variável NÃO é de um tipo incorreto - Imprima os resultados com o formato exato mostrado na saída esperada
Sua saída deve corresponder a este formato exato:
number is int: true number is! String: true decimal is double: true decimal is! int: true text is String: true text is! bool: true active is bool: true active is! double: true
Experimente você mesmo
void main() {
// Criar variáveis usando inferência de tipos
// Substitua cada placeholder por um valor do tipo que sua linha de print nomeia
var number = null;
var decimal = null;
var text = null;
var active = null;
// Verifique os tipos com os operadores de teste de tipo e imprima os resultados
// Substitua cada placeholder por um teste de tipo para que cada linha imprima um booleano
print("number is int: ${number}");
print("number is! String: ${number}");
print("decimal is double: ${decimal}");
print("decimal is! int: ${decimal}");
print("text is String: ${text}");
print("text is! bool: ${text}");
print("active is bool: ${active}");
print("active is! double: ${active}");
}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úmeroPratique por conta própria: Compilador de Dart online