Tipos Nulláveis
Parte da seção Fundamentos do Journey de Dart da Coddy — lição 78 de 94.
Tipos anuláveis em Dart são declarados adicionando um ponto de interrogação (?) após o nome do tipo. Isso informa ao Dart que uma variável pode conter um valor desse tipo ou null.
Declare variáveis anuláveis de diferentes tipos:
String? name;
int? age;
bool? isActive;
double? price;Essas variáveis podem ser atribuídas valores ou null:
name = 'Dart';
age = null;
isActive = true;
price = null;
print(name);
print(age);
print(isActive);
print(price);Após executar o código acima, a saída será:
Dart
null
true
nullDesafio
InicianteNeste desafio, você praticará trabalhar com tipos anuláveis em Dart. Um tipo anulável é declarado adicionando um ponto de interrogação (?) após o nome do tipo, permitindo que a variável contenha um valor ou null.
Complete o código para verificar se a variável username é null. Se for, imprima "No username provided". Se não for null, imprima "Username: " seguido do valor do username.
Folha de consulta
Tipos anuláveis no Dart são declarados adicionando um ponto de interrogação (?) após o nome do tipo, permitindo que variáveis contenham um valor desse tipo ou null:
String? name;
int? age;
bool? isActive;
double? price;Variáveis anuláveis podem receber valores ou null:
name = 'Dart';
age = null;
isActive = true;
price = null;Experimente você mesmo
void main() {
// Esta variável pode ser nula devido ao ? após String
String? username = null;
// TODO: Verificar se username é nulo
// Se for nulo, imprima "No username provided"
// Se não for nulo, imprima "Username: " seguido pelo valor de username
// Mais adiante no programa, username recebe um valor
username = "DartLearner";
// TODO: Verificar username novamente usando a mesma condição
}
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 Existe13Null Safety em Profundidade
Entendendo NullTipos NulláveisTipos Não NulláveisOperador de Asserção de NullInicialização TardiaResumo - Lidando com Null de Forma Segura2Variá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