Menu
Coddy logo textTech

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}');
}
challenge icon

Desafio

Fácil

Crie um programa em Dart que usa os operadores de teste de tipo (is e is!) para verificar os tipos de variáveis:

  1. Crie uma variável number com o valor 42 usando inferência de tipo (var)
  2. Crie uma variável decimal com o valor 3.14 usando inferência de tipo
  3. Crie uma variável text com o valor "Hello" usando inferência de tipo
  4. Crie uma variável active com o valor true usando inferência de tipo
  5. Use o operador is para verificar se cada variável é do seu tipo correto (int, double, String, bool)
  6. Use o operador is! para verificar se cada variável NÃO é de um tipo incorreto
  7. Imprima os resultados com o formato exato mostrado na saída esperada

Sua saída deve corresponder exatamente a este formato:

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

Folha de consulta

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
  • is! - verifica se uma variável não corresponde a um tipo
var number = 42;
var isInteger = number is int;        // true
var isNotString = number is! String;  // true

print('Is $number an integer? $isInteger');
print('Is $number not a string? $isNotString');

Você pode verificar múltiplos tipos:

var value1 = 'Hello';
var value2 = 42;
var value3 = true;

print('$value1 is a String: ${value1 is String}');  // true
print('$value2 is a double: ${value2 is double}');  // false
print('$value3 is a bool: ${value3 is bool}');      // true

Experimente você mesmo

void main() {
  // Criar variáveis usando inferência de tipo
  var number = ?;
  var decimal = ?;
  var text = ?;
  var active = ?;
  
  // Verificar tipos com o operador 'is' e imprimir resultados
  print("number is int: ${number ? int}");
  print("number is! String: ${number ? String}");
  
  print("decimal is double: ${decimal ? double}");
  print("decimal is! int: ${decimal ? int}");
  
  print("text is String: ${text ? String}");
  print("text is! bool: ${text ? bool}");
  
  print("active is bool: ${active ? bool}");
  print("active is! double: ${active ? double}");
}
quiz iconTeste seus conhecimentos

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