⌨️ Ler por teclado
Para o proxecto deste tema necesitaremos pedir datos ao usuario. Estes programas execútanse nunha terminal, como a terminal integrada de Visual Studio Code. Non se executan en DartPad nin se introducen os datos no panel de saída do editor.
import 'dart:io'; permite usar stdin para ler e stdout para escribir. A importación vai ao principio do ficheiro, fóra de main().
print()escribe e pasa á seguinte liña. Non precisa ningunha importación.stdout.write()escribe sen pasar á seguinte liña: resulta útil para facer unha pregunta.stdin.readLineSync()espera a que escribamos unha liña e premamos Intro. DevolveString?: pode devolvernullse remata a entrada.
🧪 Pedir o nome
import 'dart:io';
void main() {
stdout.write('Como te chamas? ');
// Se remata a entrada, usamos un texto baleiro.
String nome = stdin.readLineSync() ?? '';
nome = nome.trim(); // Quitamos espazos dos extremos.
print('Benvido a 2º DAM, $nome');
}
Premer Intro sen escribir devolve '', non null. ?? non substitúe os textos baleiros.
🔢 Pedir un número
Lemos primeiro o texto e despois intentamos convertelo. int.tryParse() devolve un enteiro ou null; para decimais usamos double.tryParse().
import 'dart:io';
void main() {
stdout.write('Cantas faltas tes? ');
String texto = stdin.readLineSync() ?? '';
int? faltas = int.tryParse(texto.trim()); // null se non é un enteiro.
print('Valor lido: $faltas');
}
Este exemplo só mostra o resultado da conversión. Aínda falta comprobar se o número é válido. Despois de estudar condicións e bucles veremos como repetir a pregunta sen inventar un valor por defecto.
📦 Que significa import?
Unha importación permite usar código definido noutro lugar:
dart:io: unha biblioteca incluída en Dart.utilidades.dart: un ficheiro noso, indicado cunha ruta relativa.package:flutter/material.dart: código dun paquete; usaremos esta importación en Flutter.
Non copies todas as importacións en cada programa: engade as que necesites. A biblioteca básica dart:core, que contén String, int e print(), xa está dispoñible.
📚 Consulta: entrada e saída con dart:io – https://dart.dev/libraries/dart-io.