Operador de Nulidade
Parte da seção Fundamentos do Journey de Dart da Coddy — lição 28 de 94.
O operador de coalescência nula (??) retorna a expressão à esquerda se não for nula, caso contrário, retorna a expressão à direita.
void main() {
String? name = 'Dart';
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
String? name = null;
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
int? score; // Sem valor inicial, por padrão é null
int displayScore = score ?? 0;
print('Your score: $displayScore');
// Mais adiante no programa, score recebe um valor
score = 100;
displayScore = score ?? 0;
print('Your updated score: $displayScore');
}Desafio
FácilCrie um programa que demonstre o operador null-aware (??) em Dart:
- Declare uma variável String anulável chamada
usernamee defina-a comonull - Declare uma variável int anulável chamada
userAgee defina-a comonull - Use o operador null-aware para atribuir um valor padrão de
"Guest"a uma nova variáveldisplayNameseusernamefor null - Use o operador null-aware para atribuir um valor padrão de
18a uma nova variáveldisplayAgeseuserAgefor null - Imprima os valores com o EXATO seguinte formato:
Username: Guest (default value used)
Age: 18 (default value used)Em seguida:
- Atualize
usernamepara"DartUser" - Atualize
userAgepara25 - Repita os passos 3 e 4 com os valores atualizados
- Imprima os valores com o EXATO seguinte formato:
Username: DartUser (original value used)
Age: 25 (original value used)Folha de consulta
O operador de coalescência nula (??) retorna a expressão à esquerda se ela não for nula, caso contrário retorna a expressão à direita.
String? name = null;
String displayName = name ?? 'Guest'; // Returns 'Guest' since name is null
int? score = 100;
int displayScore = score ?? 0; // Returns 100 since score is not nullExperimente você mesmo
void main() {
// Declara variáveis anuláveis
String? username = _;
int? userAge = _;
// Usa o operador de coalescência nula para valores padrão
String displayName = username ?? _;
int displayAge = userAge ?? _;
// Imprime valores iniciais
print("Username: $displayName (default value used)");
print("Age: $displayAge (default value used)");
// Atualiza variáveis
username = _;
userAge = _;
// Usa o operador de coalescência nula novamente
displayName = username _ "Guest";
displayAge = userAge _ 18;
// Imprime valores atualizados
print("Username: $displayName (original value used)");
print("Age: $displayAge (original value used)");
}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