Tipos Não Nulláveis
Parte da seção Fundamentos do Journey de Dart da Coddy — lição 79 de 94.
Tipos não anuláveis no Dart são o padrão para todas as variáveis. Quando você declara uma variável sem o símbolo ?, ela deve sempre ter um valor e não pode ser nula.
Crie uma variável String não nula:
String name = 'Dart';
print(name);Após executar o código acima, a saída será:
DartTentar atribuir null a uma variável não anulável causa um erro:
// Isso causaria um erro:
// String language = null;Variáveis não anuláveis devem ser inicializadas com um valor:
int score = 100;
bool isActive = true;
double price = 9.99;
print('Score: $score, Active: $isActive, Price: $price');Após executar o código acima, a saída será:
Score: 100, Active: true, Price: 9.99Desafio
InicianteNeste desafio, você praticará trabalhando com tipos não nuláveis em Dart. Por padrão, as variáveis em Dart não podem ser nulas, a menos que você as torne explicitamente nuláveis usando o ? símbolo.
Sua tarefa é corrigir o código atribuindo valores apropriados às variáveis não nuláveis que atualmente estão não inicializadas.
Saída esperada:
Name: John
Age: 25
Is active: true
Score: 95.5Folha de consulta
Tipos não anuláveis em Dart são o padrão para todas as variáveis. Elas devem sempre ter um valor e não podem ser nulas.
Declare variáveis não anuláveis com valores iniciais:
String name = 'Dart';
int score = 100;
bool isActive = true;
double price = 9.99;Variáveis não anuláveis não podem ser atribuídas null:
// Isso causaria um erro:
// String language = null;Use interpolação de string para exibir valores de variáveis:
print('Score: $score, Active: $isActive, Price: $price');Experimente você mesmo
void main() {
// Essas variáveis são não anuláveis e precisam de valores
// TODO: Inicialize essas variáveis com valores apropriados
String name;
int age;
bool isActive;
double score;
// Este código imprimirá os valores
print('Name: $name');
print('Age: $age');
print('Is active: $isActive');
print('Score: $score');
}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