Menu
Coddy logo textTech

Null Safety Básica

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

Segurança de nulos ajuda a prevenir travamentos inesperados no aplicativo controlando 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);  // Outputs: Dart
  
  // Agora podemos atribuir null
  name = null;
  print(name);  // Outputs: null
}

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

void main() {
  int? age;  // Sem valor inicial, padrão para null
  double? price = 19.99;
  bool? isAvailable = true;
  
  print(age);         // Saídas: null
  print(price);       // Saídas: 19.99
  print(isAvailable); // Saídas: true
  
  // Podemos alterar qualquer uma dessas para null
  price = null;
  isAvailable = null;
}

 

A segurança de 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 de nulos usando o operador ?:

  1. Declare uma variável String nomeada username e defina-a como null usando o operador de segurança de nulos ? (String?)
  2. Declare uma variável int nomeada userAge e defina-a como null usando o operador de segurança de nulos
  3. Imprima ambas as variáveis com rótulos no EXATO formato seguinte:
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 com o EXATO mesmo formato de antes

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

Folha de consulta

Por padrão, as variáveis do Dart não podem ser nulas. Adicione ? após o tipo para permitir valores nulos:

// Non-nullable (default)
String name = 'Dart';

// Nullable with ?
String? name = 'Dart';
name = null;  // Now allowed

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

int? age;           // Defaults to null
double? price = 19.99;
bool? isAvailable = true;

// All can be set to null
price = null;
isAvailable = null;

Experimente você mesmo

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