Zig Academy · leksjon

comptime-parametere og -verdier

Send inn verdier som finnes ved kompilering.

Leksjon 2 av 413 trinn

comptime-parametere og -verdier er en gratis leksjon i Zig Academy på CoddyKit. Dette er leksjon 2 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.

Noen argumenter må være kjent tidlig

Noen ganger trenger en funksjon et argument som kompilatoren kan se, ikke bare programmet som kjører. Zig lar Dem merke en slik parameter som comptime. 🧩

Merk en comptime-parameter

Skriv comptime foran et parameternavn for å kreve at verdien er kjent ved kompileringstid. Kalleren må sende inn en kjent verdi.

fn repeat(comptime n: usize) void {}

Kalleren leverer en kjent verdi

En comptime-parameter godtar bare verdier kompilatoren allerede kjenner, for eksempel literaler eller andre konstanter fra kompileringstiden.

repeat(3);

Kjøretidsverdier avvises

Hvis De sender en verdi som først er kjent ved kjøretid, inn i en comptime-parameter, rapporterer Zig en tydelig kompileringsfeil.

comptime inne i en funksjonskropp

De kan også tvinge et lokalt uttrykk til å evalueres tidlig. En comptime-blokk kjører under kompileringen og produserer en konstant.

const table = comptime buildTable();

comptime var for tilstand ved kompileringstid

En comptime var er en variabel som kan endres, og som bare eksisterer under kompileringen. Bruk den til å samle opp en verdi mens koden ved kompileringstid kjører.

comptime var sum = 0;

Kjente verdier spesialiserer funksjoner

Fordi et comptime-argument er fast, kan Zig generere en tilpasset versjon av funksjonen for akkurat denne verdien.

Bland comptime- og vanlige parametere

En funksjon kan ta begge typene samtidig: en comptime-parameter for den kjente delen og vanlige parametere for data fra kjøretiden.

fn scale(comptime factor: u8, x: u32) u32 {
    return x * factor;
}

Valider argumenter tidlig

Ettersom verdien er kjent, kan De kontrollere den under kompileringen og stoppe byggingen hvis den er feil, før programmet i det hele tatt kjører. ✅

Ingen kjøretidskostnad

Arbeid som styres av en comptime-parameter, utføres under byggingen. Den resulterende binærfilen inneholder svaret, uten noe som gjenstår å beregne.

Inne i funksjonen er parameteren konstant

Inne i funksjonskroppen oppfører en comptime-parameter seg som en fast konstant, slik at De kan bruke den i matrisestørrelser og andre uttrykk som må være kjent ved kompileringstid.

fn buffer(comptime n: usize) [n]u8 {
    return undefined;
}

Hurtigsjekk

En funksjon deklarerer en parameter som comptime n: usize. Hva slags verdi må kalleren sende inn?

Oppsummering

Merk en parameter med comptime for å kreve en verdi fra kompileringstiden. Zig kan da validere den og spesialisere funksjonen uten kjøretidskostnad. 🎯

Gratis å komme i gang

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 «comptime-parametere og -verdier» gratis?

Ja – hele teksten i «comptime-parametere og -verdier» 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 «comptime-parametere og -verdier»?

Send inn verdier som finnes ved kompilering. 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 2 av 4.

Hvor lang tid tar leksjonen «comptime-parametere og -verdier»?

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

  1. Ved kompilering kontra ved kjøring
  2. comptime-parametere og -verdier
  3. Typer er comptime-verdier
  4. inline for og utrullede løkker
← Tilbake til Zig Academy