Gerenciamento de exceções e erros

Todas as exceções em Dart são exceções não verificadas: não é necessário declarar os tipos lançados nas funções e capturá-las não é obrigatório. Existem duas categorias: Qualquer objeto não nulo …

Fluxo de controle de ramificações

I. Ramificações básicas if / if-else Resultado da execução Também é possível usar o if isoladamente Ou apenas um if else II. Ramificação de casamento de padrão if-case (Dart 3.0+) …

Laços Loops

1. Padrão for padrão Sintaxe: for(inicialização; condição; iterador) { corpo do laço } 1: Concatenação básica de string O laço percorre de 0 até 5 (não inclui o 5), ou …

Pattern

1. Padrão Lógico OU A || B Corresponde a qualquer um dos subpadrões; todos os ramos devem definir o mesmo conjunto completo de variáveis. 2. Padrão Lógico E A && …

Correspondência com Patterns

O recurso Patterns só pode ser utilizado a partir da versão Dart ≥ 3.0 I. Funções centrais dos Patterns Pattern é uma categoria sintática independente no Dart (mesmo nível de …

Sistema de tipos sólido

Sistema de tipos sólido do Dart (Sound Type System) Definição principal O Dart é uma linguagem de tipagem estática sólida, protegida por um mecanismo duplo: verificação estática em tempo de …

typedef (alias de tipo)

Definição Função: A palavra-chave typedef cria nomes curtos para tipos existentes, chamados também de alias de tipo. O Dart 2.13 passou a suportar todos os tipos; versões antigas aceitavam apenas …

Genéricos no Dart

Se você consultar a documentação da API do tipo array básico List, vai descobrir que seu tipo real é List<E>. Os símbolos de menor e maior <…> representam um tipo …

Coleções no Dart

I. Três coleções nativas do Dart O Dart possui três tipos de coleção embutidos por padrão: List, Set e Map; A limitação de tipo dos elementos internos da coleção é …

Dart Record (Registro / Tupla)

I. O que é um Record? O Record é um tipo agregado, imutável e anônimo, usado para agrupar dados de tipos diferentes em um único objeto. Confira as diferenças centrais …

Tipos Nativos do Dart

Tabela de Tipos Básicos Nativos do Dart Nome da Categoria Identificador do Tipo Escrita / Exemplo Literal Descrição Resumida Numbers (Números) int, double int a = 10; double b = …

Comentários no Dart

A linguagem Dart suporta 3 tipos de comentários no total: comentários de linha única, comentários multilinha e comentários de documentação; o compilador ignora o texto normal dentro dos comentários, apenas …

Operadores de propagação do Dart

Operadores de propagação Spread operators … e …? Avalia uma expressão de coleção, desempacota todos os elementos da coleção e os extrai para inserir em outro literal de coleção (lista, …

Operadores de cascata do Dart

Existem dois tipos de sintaxe em cascata: .. e ?.. Executar várias atribuições de propriedades e chamadas de método consecutivas no mesmo objeto, elimina variáveis temporais e deixa o código …

Expressões condicionais Dart

Os operadores condicionais que vamos explicar aqui não são as estruturas if-else. Estamos falando do operador ternário e do operador de coalescência nula. Dois tipos de operadores condicionais O Dart …

Operadores lógicos Dart

Operações lógicas trabalham apenas com valores booleanos (true /false), servem para verificar se uma condição é atendida. Existem apenas dois resultados possíveis: true (verdadeiro, condição cumprida), false (falso, condição não …

Operadores de atribuição Dart

1. Operador de atribuição básico = Armazena o valor da expressão da direita na variável da esquerda, sobrescrevendo o valor antigo. Sintaxe: 2. Operador de atribuição sensível a null ??= …

Operadores de teste de tipo em Dart

Visão geral dos três operadores (as /is/is!) Operador Descrição da função as Conversão forçada de tipos; também usado para definir apelidos de bibliotecas is Verificação de tipo: retorna true se …

Operadores relacionais Dart

Os operadores relacionais são símbolos de cálculo usados para fazer todos os tipos de comparações de tamanho. Nós os utilizamos frequentemente na matemática. Tabela de operadores relacionais Operador Explicação == …