6. Seu primeiro programa
Criar um arquivo Dart
Abra o editor (VS Code, se instalou no capítulo anterior). Crie uma pasta nova em qualquer lugar que você consiga achar fácil - área de trabalho mesmo serve. Pode chamar de dart-experimentos/ ou só meu-codigo/.
Dentro dessa pasta, crie um arquivo novo chamado ola.dart. A extensão .dart é importante - ela diz ao editor (e ao Dart SDK) que esse arquivo é código Dart, e não texto qualquer.
Escrever as 3 linhas mágicas
Digite (ou cole) exatamente isto:
void main() {
print('Olá, masmorra.');
}
Salve o arquivo (Cmd+S no macOS, Ctrl+S no Windows/Linux).
Pronto. Você acabou de escrever um programa Dart completo.
Antes de rodar, vamos entender cada palavra:
void- significa “não retorna nada”. A funçãomainfaz coisas (imprime na tela), mas não devolve nenhum valor para quem a chamou.main- nome especial. Todo programa Dart precisa de uma função chamadamain. É o ponto de entrada: quando você manda o Dart rodar o arquivo, é a partir daqui que ele começa.()- parênteses obrigatórios. Funções sempre têm parênteses, mesmo que estejam vazios. Eles vão guardar parâmetros mais tarde.{e}- chaves que delimitam o corpo da função. Tudo entre elas é o que a função faz.print('Olá, masmorra.');- chama a função built-inprint, passando o texto entre aspas. Termina com ponto-e-vírgula, que em Dart marca o fim de uma declaração (como o ponto final no português).
Cinco conceitos em três linhas. Não é pouco.
Rodar
Abra o terminal e navegue até a pasta onde você criou o arquivo. Por exemplo, se o arquivo está em ~/Desktop/meu-codigo/ola.dart:
cd ~/Desktop/meu-codigo
Confirme que o arquivo está lá:
ls
# Deve mostrar: ola.dart
Agora rode:
dart run ola.dart
Aguarde um segundo. O terminal vai imprimir:
Olá, masmorra.
Pronto. Você programou.
Isso pode parecer pequeno - é uma linha de texto numa tela preta. Mas pense no que aconteceu: você descreveu uma instrução para uma máquina, em uma linguagem específica, e a máquina entendeu, executou, e te mostrou o resultado. Esse é exatamente o ciclo que os outros 37 capítulos do livro vão aprofundar. A escala muda; o ciclo não.
Pode comemorar. Levanta da cadeira, anda um pouco, conta pra alguém. Foi um marco.
Modificar e rodar de novo
Volte ao editor. Troque o texto entre as aspas:
void main() {
print('A masmorra te espera.');
}
Salve. No terminal, rode de novo:
dart run ola.dart
Agora aparece:
A masmorra te espera.
Esse é o ciclo central de todo aprendizado de programação: modifica, roda, observa, modifica de novo. Você vai repetir esse ciclo centenas de milhares de vezes na sua vida de programador. Quanto mais rápido você consegue completar uma volta do ciclo, mais rápido você aprende. Por isso editores com auto-completar e ferramentas como dart run (que evitam compilação manual) existem.
Experimente:
- Imprimir múltiplas linhas com vários
print()em sequência. - Imprimir um número:
print(42); - Imprimir uma conta:
print(2 + 3);- deve mostrar5. - Imprimir uma frase com um número dentro:
print('Eu tenho ${20 + 15} moedas');- vai mostrarEu tenho 35 moedas.
Cada experimento é um neurônio novo se conectando.
O que cada erro significa
Mais cedo ou mais tarde você vai ver um erro. Provavelmente cedo. Não se assuste - erros são instruções, não veredictos. O Dart sempre tenta dizer exatamente o que está errado e em qual linha.
Esqueceu o ponto-e-vírgula. Você escreve:
void main() {
print('oi')
}
E recebe:
Error: Expected ';' after this.
print('oi')
^
A seta aponta para o lugar onde o ; deveria estar. Coloque o ;, salve, rode de novo.
Aspas erradas (faltando ou mistas). Você escreve print("oi); (uma aspa dupla, depois fechou só com parêntese). O Dart vai reclamar que esperava aspas dupla para fechar a string.
Parêntese ou chave não fechada. void main() { print('oi'); (sem o } final). Erro: Expected '}' before this.. Conte os abertos e fechados; sempre tem que bater.
Erro de digitação no nome da função. prnit('oi'); em vez de print. O Dart reclama que não conhece nenhuma função chamada prnit. Olhe a sugestão dele - geralmente diz “Did you mean print?”.
Cinco regras práticas para ler erro do Dart:
- Leia a primeira linha do erro - é o que aconteceu.
- Leia o número da linha - é onde aconteceu.
- Olhe a seta - é o caractere exato suspeito.
- Se mostra “Did you mean …?”, quase sempre é isso.
- Se não souber, copie a primeira linha do erro e pesquise no Google entre aspas. Provavelmente outras 10.000 pessoas tiveram o mesmo erro.
Antes de fechar o terminal
Você acabou de fazer quatro coisas profundas:
- Instalou uma linguagem de programação completa no seu computador.
- Criou um arquivo de código que segue as regras dessa linguagem.
- Escreveu instruções válidas que a máquina aceitou e executou.
- Iterou - modificou, rodou de novo, observou a diferença.
Esses quatro passos são exatamente o que programadores profissionais fazem. A escala muda - profissionais escrevem milhares de linhas em vez de três, em times de várias pessoas, com testes automáticos e ferramentas elaboradas. Mas o ciclo essencial - escrever instrução, rodar, observar resultado, ajustar - é exatamente esse.
Tudo daqui em diante é volume e profundidade. O que é programar você já sabe.