Standardvärden för fält
Initiera fält utan upprepning
Standardvärden för fält är en gratis lektion i Zig Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Zig Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Zig Academy innehåller totalt 4 lektioner.
Att upprepa sig
Om de flesta instanser börjar på samma sätt blir det tröttsamt att skriva om varje fält. Med Zig kan ett fält ha ett standardvärde som är inbyggt i typen.
Ge ett fält ett standardvärde
Lägg till = value efter fälttypen. Alla instanser som utelämnar fältet får automatiskt standardvärdet.
const Config = struct {
retries: u8 = 3,
};Utelämna det vid skapandet
Nu kan du skapa ett värde utan att ange fältet med standardvärdet, och det får ändå värdet 3.
const c = Config{};Åsidosätt när du vill
Standardvärdet är bara en utgångspunkt. Ange fältet explicit i initieraren för att använda ett annat värde.
const c = Config{ .retries = 5 };Blanda standardvärden och obligatoriska fält
En struct kan innehålla båda. Fält utan standardvärde är obligatoriska; fält med standardvärde kan utelämnas.
const User = struct {
name: []const u8,
active: bool = true,
};Tom initierare
Om alla fält har ett standardvärde kan du skapa instansen med en ensam .{} och låta alla standardvärden användas på en gång.
const Settings = struct {
volume: u8 = 50,
muted: bool = false,
};
const s = Settings{};Standardvärden beräknas vid kompilering
Ett standardvärde måste vara ett värde som Zig kan beräkna vid kompilering, till exempel en literal eller ett comptime-uttryck.
const Limits = struct {
max: usize = 1024,
};Alla typer kan ha standardvärden
Standardvärden fungerar för alla fälttyper: tal, booleska värden, slices och även nästlade structs med egna standardvärden.
const Box = struct {
size: Settings = Settings{},
};Ange null som standardvärde
Ett optional-fält har ofta null som standardvärde. Det är ett tydligt sätt att ange att fältet börjar tomt tills du fyller i det.
const Node = struct {
next: ?*Node = null,
};Renare och säkrare kod
Standardvärden gör anropsställena kortare och dokumenterar det avsedda startläget, så att läsaren ser det normala värdet direkt i typen.
Standardvärden gäller per instans
Varje ny instans får sin egen nya kopia av standardvärdet. Värdena delar aldrig tillstånd med varandra.
Snabb kontroll
Vad händer med ett fält som har ett standardvärde men som du utelämnar?
Sammanfattning
Du har lärt dig standardvärden för fält: skriv = value efter ett fält och utelämna sedan fältet för att använda standardvärdet, eller ange ett annat värde för att åsidosätta det. ⚙️
Lär dig Zig med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Standardvärden för fält” gratis?
Ja – hela texten till ”Standardvärden för fält” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Zig Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Zig Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Standardvärden för fält”?
Initiera fält utan upprepning Ni övar på Zig Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Zig Academy?
Du behöver inga förkunskaper. Utbildningen i Zig Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Standardvärden för fält”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Zig Academy-lektionen?
Ja. Varje Zig Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Deklarera structs och fält
- Metoder och self-parametern
- Standardvärden för fält
- Namnlösa structs och tupler