Menu
CoddyTech

Null Safety Básica

Parte da seção Fundamentos do Journey de Dart da Coddy. Lição 14 de 94.

Segurança contra valores nulos ajuda a evitar falhas inesperadas no aplicativo ao controlar quais variáveis podem estar vazias (null).

Por padrão, as variáveis devem conter um valor:

void main() {
  String name = 'Dart';
  print(name);  // Saída: Dart
  
  // Isso causaria problemas:
  // name = null;  // Não permitido
}

Adicione ? após o tipo para permitir valores nulos:

void main() {
  String? name = 'Dart';
  print(name);  // Exibe: Dart
  
  // Agora podemos atribuir null
  name = null;
  print(name);  // Exibe: null
}

Você pode declarar variáveis anuláveis de qualquer tipo:

void main() {
  int? age;  // Sem valor inicial, o padrão é null
  double? price = 19.99;
  bool? isAvailable = true;
  
  print(age);         // Exibe: null
  print(price);       // Exibe: 19.99
  print(isAvailable); // Exibe: true
  
  // Podemos alterar qualquer um desses valores para null
  price = null;
  isAvailable = null;
}

 

A segurança contra nulos ajuda a proteger seu aplicativo contra falhas inesperadas que ocorrem quando seu código tenta usar valores nulos em operações.

challenge icon

Desafio

Iniciante

Crie um programa em Dart que demonstre a segurança básica contra nulos usando o operador ?:

  1. Declare uma variável String chamada username e defina-a como null usando o operador de segurança contra nulos ? (String?)
  2. Declare uma variável int chamada userAge e defina-a como null usando o operador de segurança contra nulos
  3. Imprima ambas as variáveis com rótulos no EXATO formato a seguir:
Username: null
User age: null

Em seguida:

  1. Atribua o valor "DartLearner" à variável username
  2. Atribua o valor 25 à variável userAge
  3. Imprima ambas as variáveis novamente no EXATO mesmo formato de antes

Sua saída deve corresponder ao formato exato mostrado acima.

Experimente você mesmo

void main() {
  // Declare suas variáveis que podem ser nulas aqui
  String? username = ?;
  int? userAge = ?;
  
  // Exiba os valores iniciais com rótulos
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
  
  // Atribua novos valores às variáveis
  username = ?;
  userAge = ?;
  
  // Exiba os valores atualizados com os mesmos rótulos
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
}
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

Pratique por conta própria: Compilador de Dart online