Entrada Padrão, Saída Padrão e Argumentos do Processo
Crie programas CLI interativos.
Entrada Padrão, Saída Padrão e Argumentos do Processo é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.
Três streams padrão
Programas de linha de comando se comunicam por três canais: entrada padrão para entrada, saída padrão para saída normal e erro padrão para erros.
Saída padrão versus impressão
A impressão adiciona uma quebra de linha e vai para a saída padrão. Para ter um controle mais preciso, escreva diretamente com stdout.write, sem adicionar uma quebra de linha.
stdout.write('Loading');Erros vão para o erro padrão
Envie avisos para stderr, não para a saída padrão. Assim, a saída real permanece limpa quando os usuários direcionam seu programa para outro lugar.
stderr.writeln('Could not find file');Ler uma linha de entrada
Faça uma pergunta ao usuário e obtenha a resposta dele com stdin.readLineSync. A execução fica pausada até que ele pressione Enter.
final name = stdin.readLineSync();A entrada pode ser nula
readLineSync retorna uma String nullable. Se o stream for fechado sem entrada, o resultado será null; portanto, trate esse caso.
final answer = stdin.readLineSync() ?? '';Um pequeno loop de prompt
Combine uma escrita e uma leitura para criar um prompt. Mostre uma pergunta, leia a resposta e aja de acordo com ela, tudo em poucas linhas.
stdout.write('Name? '); final n = stdin.readLineSync();Argumentos da linha de comando
Seu main pode aceitar uma List de Strings e argumentos. Tudo o que o usuário digitar depois do nome do programa será colocado ali, na ordem.
void main(List<String> args) { print(args); }Ler um argumento
Acesse os argumentos pelo índice, como em qualquer lista. Sempre verifique args.isEmpty primeiro para que a ausência de um argumento não cause uma falha.
if (args.isNotEmpty) print(args[0]);Analisar opções com argumentos
Para CLIs reais, o pacote de argumentos transforma sinalizadores e opções em um resultado analisado e organizado, em vez de exigir manipulação manual de índices.
import 'package:args/args.dart';Definir um código de saída
Informe ao shell como tudo terminou usando exit. Zero significa sucesso; qualquer outro valor sinaliza um erro para os scripts que chamarem você.
exit(1);Modo de eco desativado
Para senhas, oculte os caracteres digitados definindo stdin.echoMode como false antes de ler a linha.
stdin.echoMode = false;Verificação rápida
Para onde uma ferramenta de CLI deve enviar mensagens de erro para que a saída direcionada permaneça limpa?
Recapitulação
Agora você sabe escrever na stdout e no erro padrão, ler a entrada com a entrada padrão, aceitar argumentos de linha de comando e definir um código de saída. Sua CLI é interativa.
Perguntas Frequentes
A aula “Entrada Padrão, Saída Padrão e Argumentos do Processo” é grátis?
Sim — o texto completo de “Entrada Padrão, Saída Padrão e Argumentos do Processo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.
O que vou aprender em “Entrada Padrão, Saída Padrão e Argumentos do Processo”?
Crie programas CLI interativos. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Dart Academy?
Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Entrada Padrão, Saída Padrão e Argumentos do Processo”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Dart Academy?
Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Leitura e Gravação de Arquivos
- Diretórios, Caminhos e FileSystemEntity
- Transmissão de Arquivos Grandes
- Entrada Padrão, Saída Padrão e Argumentos do Processo