Dart Academy · Lektion

Stdin, Stdout und Prozessargumente

Erstellen Sie interaktive CLI-Programme

Lektion 4 von 413 Schritte

Stdin, Stdout und Prozessargumente ist eine kostenlose Dart Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Dart Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Dart Academy-Kurs umfasst insgesamt 4 Lektionen.

Drei Standardstreams

Befehlszeilenprogramme kommunizieren über drei Kanäle: stdin für Eingaben, stdout für normale Ausgaben und stderr für Fehler.

stdout vs. print

print fügt einen Zeilenumbruch hinzu und schreibt nach stdout. Für eine genauere Kontrolle schreiben Sie direkt mit stdout.write; dabei wird kein zusätzlicher Zeilenumbruch ausgegeben.

stdout.write('Loading');

Fehler an stderr senden

Senden Sie Warnungen an stderr, nicht an stdout. So bleibt die eigentliche Ausgabe sauber, wenn Benutzer die Ausgabe an ein anderes Programm weiterleiten.

stderr.writeln('Could not find file');

Eine Eingabezeile lesen

Stellen Sie dem Benutzer eine Frage und lesen Sie seine Antwort mit stdin.readLineSync ein. Der Aufruf wartet, bis der Benutzer die Eingabetaste drückt.

final name = stdin.readLineSync();

Eingaben können null sein

readLineSync gibt einen nullable String zurück. Wird der Stream ohne Eingabe geschlossen, erhalten Sie null. Behandeln Sie daher auch diesen Fall.

final answer = stdin.readLineSync() ?? '';

Eine kleine Prompt-Schleife

Kombinieren Sie einen Schreib- und einen Lesevorgang, um eine Eingabeaufforderung zu erstellen. Geben Sie eine Frage aus, lesen Sie die Antwort und reagieren Sie darauf – alles in wenigen Zeilen.

stdout.write('Name? '); final n = stdin.readLineSync();

Befehlszeilenargumente

Ihre main-Funktion kann eine List von String-Argumenten annehmen. Alles, was der Benutzer nach dem Programmnamen eingibt, landet dort in derselben Reihenfolge.

void main(List<String> args) { print(args); }

Ein Argument lesen

Greifen Sie wie bei jeder Liste über den Index auf args zu. Prüfen Sie immer zuerst args.isEmpty, damit ein fehlendes Argument keinen Absturz verursacht.

if (args.isNotEmpty) print(args[0]);

Flags mit args analysieren

Für echte CLIs wandelt das Paket args Flags und Optionen in ein übersichtlich analysiertes Ergebnis um, statt dass Sie die Indizes manuell verwalten müssen.

import 'package:args/args.dart';

Einen Exit-Code setzen

Teilen Sie der Shell mit exit mit, wie der Vorgang verlaufen ist. Null bedeutet Erfolg; jeder andere Wert signalisiert den aufrufenden Skripten einen Fehler.

exit(1);

Echo-Modus ausschalten

Blenden Sie bei Passwörtern die eingegebenen Zeichen aus, indem Sie stdin.echoMode vor dem Lesen der Zeile auf false setzen.

stdin.echoMode = false;

Kurze Überprüfung

Wohin sollte ein CLI-Tool Fehlermeldungen senden, damit weitergeleitete Ausgaben sauber bleiben?

Zusammenfassung

Sie können nun in stdout und stderr schreiben, Eingaben über stdin lesen, Befehlszeilenargumente annehmen und einen Exit-Code setzen. Ihre CLI ist interaktiv.

Kostenlos starten

Lerne Dart mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „Stdin, Stdout und Prozessargumente“ kostenlos?

Ja — der vollständige Text von „Stdin, Stdout und Prozessargumente“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Dart Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Dart Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Stdin, Stdout und Prozessargumente“?

Erstellen Sie interaktive CLI-Programme Du übst Dart Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Dart Academy zu starten?

Keine Vorkenntnisse erforderlich. Dart Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Stdin, Stdout und Prozessargumente“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Dart Academy-Lektion Code schreiben und ausführen?

Ja. Jede Dart Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Dateien lesen und schreiben
  2. Verzeichnisse, Pfade und FileSystemEntity
  3. Große Dateien als Stream verarbeiten
  4. Stdin, Stdout und Prozessargumente
← Zurück zu Dart Academy