Oi, José Antônio! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Gostei de como você organizou em funções (getComando, adicionaNota, listarNotas) e usou entrada via terminal. Um ponto a melhorar é evitar recursão para ler entradas e usar o retorno de getComando(), pois isso pode estar ligado a chamadas extras quando a entrada é inválida.
Uma dica interessante para o futuro é usar um loop de menu que valida a entrada e controla o fluxo. Veja este exemplo:
import 'dart:io';
void main() {
final notas = <String>[];
while (true) {
stdout.write('Digite um comando (1-Adicionar, 2-Listar, 3-Sair): ');
final cmd = stdin.readLineSync()?.trim() ?? '';
if (cmd == '1') {
stdout.write('Escreva uma nota: ');
final n = stdin.readLineSync()?.trim() ?? '';
if (n.isEmpty) {
print('Nota vazia, tente novamente.');
} else {
notas.add(n);
print('Nota adicionada.');
}
} else if (cmd == '2') {
for (final n in notas) { print(n); }
} else if (cmd == '3') {
print('Saindo...');
return;
} else {
print('Comando invalido.');
}
}
}
Esse codigo substitui recursao por while, usa trim() para limpar a entrada e permite adicionar ou listar notas conforme o comando.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!