Na aula anterior, explicamos como criar o primeiro exemplo em Dart. Agora, vamos aprender a criar nosso próprio exemplo Hello World.
1 Hello World
- Todo programa Dart precisa ter uma função
main()de nível superior; é dela que o programa inicia a execução. - Funções sem retorno são declaradas com a palavra-chave
void print()exibe textos no console
// Ponto de entrada do programa
void main() {
print('Hello, World!');
}
Code language: Dart (dart)
Vamos usar o projeto criado na aula passada como exemplo. Abra o arquivo firstdart.dart na pasta C:\dartdemo\firstdart\bin
Substitua todo o código do arquivo pelo trecho acima

Depois, abra o cmd, acesse o diretório C:\dartdemo\firstdart e execute o comando dart run
C:\dartdemo\firstdart>dart run
Building package executable...
Built firstdart:firstdart.
Hello, World!Code language: CSS (css)
2 Variáveis (var: inferência automática de tipo)
- Ao declarar variáveis com
var, o Dart identifica o tipo automaticamente com base no valor atribuído, sem precisar digitar o tipo manualmente. - Suporta strings, números inteiros, números decimais, listas e mapas (objetos)
Exemplo
// Ponto de entrada do programa
void main() {
var name = 'Voyager 1'; // String (texto)
var year = 1977; // int (inteiro)
var width = 3.7; // double (decimal)
var planets = ['Júpiter','Saturno']; // List (lista)
var info = {
'tag': ['Saturno'],
'url': 'Endereço da imagem'
}; // Map (dicionário)
}
Code language: Dart (dart)
Acima declaramos diversas variáveis. Uma variável é uma pequena área da memória para armazenar dados, com um nome atribuído a ela. Esse nome facilita manipular o conteúdo daquela região da memória.
Teoricamente, essa área de memória consegue guardar qualquer dado composto por 0 e 1, pois todos os dados do computador são formados por esses dois valores. Os tipos (texto, inteiro etc.) existem para simplificar a leitura dos dados: se o compilador reconhecer um tipo int, ele lerá os dados como números inteiros.
Para manipular as variáveis declaradas acima, use o código abaixo
// Ponto de entrada do programa
void main() {
var name = 'Voyager 1'; // String
var year = 1977; // int
var width = 3.7; // double
var planets = ['Júpiter', 'Saturno']; // List
var info = {
'tag': ['Saturno'],
'url': 'Endereço da imagem'
}; // Map
// Exemplo de uso de string
print('Nome da sonda:$name');
print('Quantidade de caracteres:${name.length}');
print('Contém "1"?:${name.contains('1')}');
// Exemplo de uso de inteiro
print('Ano de lançamento:$year');
print('Anos passados:${DateTime.now().year - year} anos');
// Exemplo de uso de decimal
print('Largura da sonda:$width metros');
print('Quadrado da largura:${width * width}');
// Exemplo de uso de lista
print('Lista de planetas alvo:$planets');
planets.add('Urano'); // Adicionar item
print('Lista atualizada:$planets');
print('Primeiro planeta:${planets[0]}');
// Exemplo de uso de mapa
print('Tags da informação:${info['tag']}');
print('Link da imagem:${info['url']}');
info['status'] = 'Em operação'; // Adicionar novo par chave-valor
print('Dados completos:$info');
}
Code language: PHP (php)
O código acima usa impressão formatada, um conteúdo que ainda não estudamos. Apenas entenda o conceito por enquanto; veremos esse tópico depois.
3 Comandos de controle de fluxo (condicionais / loops)
Estrutura if else
O código executado depende da condição dentro dos parênteses do if. Se a condição for verdadeira (true), roda o código dentro das chaves do if; se for falsa (false), executa o código do else.

if (condição) {
// Executa se condição for true
} else {
// Executa se condição for false
}Code language: JavaScript (javascript)
Exemplo: verificar se o veículo está acima da velocidade permitida
var speed = 25;
if (speed > 60) {
print('Velocidade acima do limite!');
} else {
print('Velocidade normal.');
}Code language: PHP (php)
Também é possível fazer várias verificações em sequência
if (speed > 100) {
print('Velocidade perigosa!');
} else if (speed > 60) {
print('Você está um pouco rápido.');
} else {
print('Condução segura.');
}Code language: PHP (php)
void main() {
var year = 1977;
if (year >= 2001) {
print('Século XXI');
} else if (year >= 1901) {
print('Século XX');
}
}
Code language: Dart (dart)
C:\dartdemo\firstdart>dart run
Building package executable...
Built firstdart:firstdart.
Século XXCode language: CSS (css)
Iterar listas com for-in
No Dart, o loop for‑in é uma forma compacta de percorrer objetos iteráveis como List e Set.
Ele verifica se a lista tem um próximo elemento: se houver, executa o código entre chaves; se não houver, encerra o loop e segue para o restante do código.
Sintaxe:
for (var item in collection) {
// Utilizar a variável item
}Code language: JavaScript (javascript)

Exemplo
void main() {
var planets = ['Júpiter','Saturno'];
for (final item in planets) {
print(item);
}
}
Code language: Dart (dart)
Resultado da execução
C:\dartdemo\firstdart>dart run
Building package executable...
Built firstdart:firstdart.
Júpiter
SaturnoCode language: CSS (css)
Loop for numérico tradicional
Começa em i=1 até 12 incluso por causa do operador <=. Após cada print, o código vai para o comando i++.
void main() {
for (int i = 1; i <= 12; i++) {
print(i);
}
}Code language: JavaScript (javascript)

Resultado da execução
C:\dartdemo\firstdart>dart run
Building package executable...
Built firstdart:firstdart.
1
2
3
4
5
6
7
8
9
10
11
12Code language: CSS (css)
- Primeiro executa int i = 1 apenas uma vez
- Depois verifica se a condição i <=12 é verdadeira
- Se for verdadeira, executa print(i) e exibe o número 1
- Depois executa i++, i passa a valer 2
- Verifica novamente i<=12, como 2<=12 é true, imprime o número 2
- Repete i++ e a verificação da condição várias vezes
- …..
- Quando i chegar a 13, a condição i<=12 é falsa, o loop for é interrompido e segue para o código posterior
A linha int i=1; só roda uma vez no início, nunca mais depois. Seu objetivo é atribuir valor inicial para i, então também pode ser escrito assim:
void main() {
int i = 1;
for (; i <= 12; i++) {
print(i);
}
}
Code language: Dart (dart)
4. Loop while
O loop while é parecido com o for. No Dart, o loop while executa um bloco de código repetidamente enquanto a condição for verdadeira. Sua sintaxe é muito simples:
while (condição) {
// Corpo do loop
}Code language: JavaScript (javascript)
Lógica de execução:
- Primeiro verificar se a condição é
true. - Se for verdadeira, executar o corpo do loop.
- Após terminar o corpo, verificar a condição novamente.
- Quando a condição se tornar
false, o loop termina.
Para a condição se tornar falsa, você precisa alterar alguma variável dentro do corpo do loop. Se não alterar, vai gerar um loop infinito que nunca para.
var year = 2010;
while(year < 2016){
year += 1;
}
Code language: JavaScript (javascript)
Podemos dividir os passos de execução assim 👇
Fase de inicialização
- Definir a variável
yearcom valor inicial2010.
Fase de verificação da condição
- Verificar se
year < 2016é verdadeiro. - Se verdadeiro, entrar no corpo do loop; se falso, sair do loop.
Fase de execução do corpo do loop
- Executar
year += 1, ou sejayear = year + 1. - A cada repetição, o valor de
yearaumenta em 1.
Fase de verificação repetida
- Verificar novamente a condição
year < 2016. - Enquanto
yearestiver entre 2010 e 2015, a condição é verdadeira. - Quando
yearchegar em 2016, a condição é falsa e o loop acaba.
Fase final
- Ao finalizar o loop, o valor final de
yearé 2016.
Esse loop executa um total de 6 vezes (de 2010 até 2015), somando 1 ao year cada vez até a condição deixar de ser válida. Atenção: se você não alterar o valor de year dentro do loop, ocorrerá um loop infinito.