Skrive utdata og avslutningskoder
Rapporter resultater og angi status.
Skrive utdata og avslutningskoder er en gratis leksjon i Zig Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Zig Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Zig Academy inneholder totalt 4 leksjoner.
Verktøy svarer tilbake
Å lese inndata er bare halve jobben. Et ferdig CLI-verktøy skriver også utdata og signaliserer suksess eller feil til det som kjørte det. 📤
To ut datastrømmer
Programmer har to kanaler: stdout for vanlige resultater og stderr for meldinger og feil. Når de holdes adskilt, kan brukerne pipe resultater på en ryddig måte.
Hent stdout-skriveren
Bruk std.io.getStdOut og be den om en skriver. Denne skriveren er håndtaket Deres for å sende vanlige utdata til terminalen.
const out = std.io.getStdOut().writer();Skriv ut med print
Metoden print på en skriver formaterer og skriver i ett kall, med den samme formatstrengen og argumenttuplen De allerede kjenner.
try out.print("Result: {d}\n", .{total});Skriving kan feile
Utdata sendes til en ekte strøm som kan være lukket, så skriving returnerer en feil. Derfor står try foran hver print.
Feil sendes til stderr
Send advarsler og feil til std.io.getStdErr, slik at de ikke forurenser resultater som sendes gjennom en pipe. Brukerne kan lese feilene mens dataene flyter videre.
const err = std.io.getStdErr().writer();Rask feilsøkingsutdata
For enkel logging skriver std.debug.print direkte til stderr uten behov for try. Det er nyttig under utvikling, men ikke for ekte utdata.
std.debug.print("loaded {d} items\n", .{count});Konvensjonen for avslutningskoder
Når programmet avsluttes, returnerer det et tall. Null betyr suksess; enhver verdi som ikke er null, forteller skallet at noe gikk galt.
main kan returnere feil
Gi main returtypen !void. Hvis en feil bobler ut, skriver Zig ut en sporingslogg og avslutter med en kode som ikke er null, automatisk.
pub fn main() !void {}Velg Deres egen kode
Trenger De en bestemt status? Kall std.process.exit med en u8. Det avslutter programmet umiddelbart med nøyaktig denne avslutningskoden.
std.process.exit(2);Tøm bufferen før avslutning
Hvis De brukte en buffered writer, må De kalle flush() før avslutning. Ellers kan bufret tekst aldri nå terminalen.
try bw.flush();Rask kontroll
Husk hva en avslutningskode forteller skallet som startet verktøyet.
Oppsummering
De skrev resultater til stdout, feil til stderr, brukte try ved hver skriving og avsluttet med en tydelig avslutningskode. Verktøyet Deres rapporterer ryddig. 🎯
Lær deg Zig med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Skrive utdata og avslutningskoder» gratis?
Ja – hele teksten i «Skrive utdata og avslutningskoder» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Zig Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Zig Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Skrive utdata og avslutningskoder»?
Rapporter resultater og angi status. Du øver på Zig Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Zig Academy?
Ingen tidligere erfaring er nødvendig. Zig Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Skrive utdata og avslutningskoder»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Zig Academy-leksjonen?
Ja. Alle Zig Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Lese kommandolinjeargumenter
- Lese filer og stdin
- Skrive utdata og avslutningskoder
- Pakke og utgi binærfilen