Exemplo Dart Hello World

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

  1. Todo programa Dart precisa ter uma função main() de nível superior; é dela que o programa inicia a execução.
  2. Funções sem retorno são declaradas com a palavra-chave void
  3. 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)

  1. Ao declarar variáveis com var, o Dart identifica o tipo automaticamente com base no valor atribuído, sem precisar digitar o tipo manualmente.
  2. 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)
  1. Primeiro executa int i = 1 apenas uma vez
  2. Depois verifica se a condição i <=12 é verdadeira
  3. Se for verdadeira, executa print(i) e exibe o número 1
  4. Depois executa i++, i passa a valer 2
  5. Verifica novamente i<=12, como 2<=12 é true, imprime o número 2
  6. Repete i++ e a verificação da condição várias vezes
  7. …..
  8. 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:

  1. Primeiro verificar se a condição é true.
  2. Se for verdadeira, executar o corpo do loop.
  3. Após terminar o corpo, verificar a condição novamente.
  4. 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 year com valor inicial 2010.
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 seja year = year + 1.
  • A cada repetição, o valor de year aumenta em 1.
Fase de verificação repetida
  • Verificar novamente a condição year < 2016.
  • Enquanto year estiver entre 2010 e 2015, a condição é verdadeira.
  • Quando year chegar 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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *