Zapisywanie danych wyjściowych i kody zakończenia
Raportuj wyniki i sygnalizuj stan.
Zapisywanie danych wyjściowych i kody zakończenia to bezpłatna lekcja Zig Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Zig Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Zig Academy zawiera 4 lekcji w sumie.
Narzędzia odpowiadają
Odczytywanie danych wejściowych to tylko połowa zadania. Gotowe CLI również zapisuje dane wyjściowe i sygnalizuje powodzenie lub niepowodzenie programowi, który je uruchomił. 📤
Dwa strumienie wyjściowe
Programy mają dwa kanały: stdout dla zwykłych wyników oraz stderr dla komunikatów i błędów. Rozdzielenie ich pozwala użytkownikom bezproblemowo przekierowywać wyniki.
Pobierz pisarz stdout
Użyj std.io.getStdOut i poproś o pisarza. Ten pisarz jest uchwytem służącym do wysyłania zwykłych danych wyjściowych do terminala.
const out = std.io.getStdOut().writer();Wypisuj za pomocą print
Metoda print pisarza formatuje i zapisuje dane w jednym wywołaniu, używając tego samego łańcucha formatu i krotki argumentów, które już znasz.
try out.print("Result: {d}\n", .{total});Zapis może się nie udać
Dane wyjściowe trafiają do rzeczywistego strumienia, który może być zamknięty, dlatego zapisy zwracają błąd. Z tego powodu przed każdym print znajduje się try.
Błędy trafiają do stderr
Wysyłaj ostrzeżenia i błędy do std.io.getStdErr, aby nie zanieczyszczały przekierowanych wyników. Użytkownicy mogą czytać błędy, podczas gdy dane płyną dalej.
const err = std.io.getStdErr().writer();Szybkie dane debugowania
Do prostego logowania std.debug.print zapisuje bezpośrednio do stderr, bez potrzeby używania try. Jest przydatne podczas tworzenia programu, ale nie służy do rzeczywistych danych wyjściowych.
std.debug.print("loaded {d} items\n", .{count});Konwencja kodu zakończenia
Po zakończeniu program zwraca liczbę. Zero oznacza powodzenie, a każda wartość różna od zera informuje powłokę, że coś poszło nie tak.
main może zwracać błędy
Nadaj funkcji main typ zwracany !void. Jeśli błąd wydostanie się na zewnątrz, Zig wyświetli ślad i sam zakończy program kodem różnym od zera.
pub fn main() !void {}Wybierz własny kod
Potrzebujesz konkretnego statusu? Wywołaj std.process.exit, przekazując wartość u8. Program zakończy się natychmiast z dokładnie tym kodem zakończenia.
std.process.exit(2);Opróżnij bufor przed zakończeniem
Jeśli używasz buffered writer, wywołaj flush() przed zakończeniem. W przeciwnym razie tekst znajdujący się w buforze może nigdy nie dotrzeć do terminala.
try bw.flush();Szybkie sprawdzenie
Przypomnij sobie, co kod zakończenia mówi powłoce, która uruchomiła Twoje narzędzie.
Podsumowanie
Zapisywałeś wyniki do stdout, błędy do stderr, używałeś try przy każdym zapisie i kończyłeś działanie jasnym kodem zakończenia. Twoje narzędzie poprawnie przekazuje informacje. 🎯
Często zadawane pytania
Czy lekcja „Zapisywanie danych wyjściowych i kody zakończenia” jest bezpłatna?
Tak — pełny tekst „Zapisywanie danych wyjściowych i kody zakończenia” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Zig Academy, przejdź na CoddyKit PRO. Kurs Zig Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Zapisywanie danych wyjściowych i kody zakończenia”?
Raportuj wyniki i sygnalizuj stan. Ćwiczysz Zig Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Zig Academy?
Nie wymagamy żadnego doświadczenia. Zig Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Zapisywanie danych wyjściowych i kody zakończenia”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Zig Academy?
Tak. Każda lekcja Zig Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Odczytywanie argumentów wiersza poleceń
- Odczytywanie plików i stdin
- Zapisywanie danych wyjściowych i kody zakończenia
- Pakowanie i wydawanie pliku binarnego