pub-funksjoner og synlighet
Gjør funksjoner tilgjengelige på tvers av filer.
pub-funksjoner og synlighet 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.
Filer er moduler
I Zig er hver kildefil sin egen modul. Hva den deler med andre filer, styres av synlighetsregler. 📦
Privat som standard
En vanlig funksjon er privat for filen sin. Andre filer kan ikke kalle den, slik at interne hjelpefunksjoner holdes trygt skjult.
fn helper() void {
// only this file can call me
}pub gjør den offentlig
Legg til nøkkelordet pub for å eksponere en funksjon, slik at andre filer kan importere og kalle den på tvers av prosjektet.
pub fn greet() void {
std.debug.print("Hi!\n", .{});
}Import henter den inn
En annen fil bruker @import for å laste inn modulen Deres, og får deretter tilgang til offentlige navn gjennom den returnerte verdien.
const utils = @import("utils.zig");
utils.greet();Bare pub-navn er tilgjengelige
Gjennom importen kan De bare kalle de offentlige navnene. Private funksjoner forblir usynlige og kan derfor ikke misbrukes.
Hvorfor main trenger pub
Derfor skrives main med pub: Kjøremiljøet befinner seg utenfor filen Deres og må kunne nå startpunktet.
pub fungerer for mer enn fn
Nøkkelordet pub eksponerer også konstanter, typer og variabler, slik at De kan tilby et ryddig offentlig grensesnitt for en modul.
pub const version = "1.0.0";Utform et lite API
Merk bare det kallere faktisk trenger, som offentlig. Når hjelpefunksjoner holdes private, får De et lite og stabilt grensesnitt å vedlikeholde.
Innkapsling reduserer feil
Å skjule interne detaljer kalles innkapsling. Med færre eksponerte deler kan De endre implementasjonsdetaljer uten å ødelegge andre filer.
Ingen headerfiler trengs
I motsetning til C trenger Zig ingen header-filer. Når De importerer en fil, får De de offentlige deklarasjonene direkte, uten duplisering.
Synlighet avgjøres ved kompilering
Zig håndhever synlighet ved kompilering. Hvis De kaller en privat funksjon utenfra filen, mislykkes kompileringen.
Hurtigsjekk
De har skrevet en funksjon i math.zig, men en annen fil kan ikke kalle den. Hva mangler mest sannsynlig?
Oppsummering
Funksjoner er private for filen sin frem til De legger til pub. Eksponer bare det kallere trenger, importer med @import, og dropp headerfiler helt. 🎯
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 «pub-funksjoner og synlighet» gratis?
Ja – hele teksten i «pub-funksjoner og synlighet» 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 «pub-funksjoner og synlighet»?
Gjør funksjoner tilgjengelige på tvers av filer. 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 «pub-funksjoner og synlighet»?
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
- Funksjonssyntaks og returtyper
- Sende verdier kontra referanser
- pub-funksjoner og synlighet
- Rekursjon og flere returverdier