Deklarera structs och fält
Samla relaterade data i en typ
Deklarera structs och fält är en gratis lektion i Zig Academy på CoddyKit. Detta är lektion 1 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.
Gruppera relaterade data
Lösa variabler blir snabbt röriga. En struct låter dig samla relaterade värden i en namngiven typ som du kan skicka runt tillsammans.
struct är ett uttryck
I Zig skapas en struct med nyckelordet struct och ett kodblock. Vanligtvis binder du den till en const för att ge typen ett namn.
const Point = struct {};Lägg till några fält
Inuti klamrarna listar du fält, vart och ett med ett namn och en typ. De beskriver vilka data varje värde av struct-typen innehåller.
const Point = struct {
x: i32,
y: i32,
};Fält avslutas med ett kommatecken
Varje fältdeklaration avslutas med ett kommatecken, även den sista. Zig är strikt här, så formateraren håller det konsekvent.
const Color = struct {
r: u8,
g: u8,
b: u8,
};Skapa en instans
För att skapa ett värde skriver du typnamnet och en .{}-initierare, där du anger varje fält med namn.
const origin = Point{ .x = 0, .y = 0 };Punkt för att läsa ett fält
Du når ett fält med en punkt efter värdet. origin.x läser alltså x-fältet från den punkten.
const px = origin.x;Ändringar kräver var
För att ändra ett fält måste instansen vara en var. En const-struct och alla dess fält förblir oförändrade.
var p = Point{ .x = 1, .y = 2 };
p.x = 5;Fält kan ha vilken typ som helst
Ett fält kan innehålla vad som helst: en bool, en slice eller till och med en annan struct. Structs kan nästlas fritt för att modellera mer komplexa strukturer.
const Line = struct {
start: Point,
end: Point,
};Fältens ordning
I en vanlig struct kan Zig ordna om fält i minnet för att packa dem effektivare. Du namnger fälten, så minneslayouten påverkar aldrig koden.
Structs är värdetyper
När du tilldelar eller skickar en struct kopieras den som ett värde. Originalet påverkas inte om du inte uttryckligen använder en pekare.
var a = Point{ .x = 1, .y = 1 };
var b = a; // b is a copyEn typ, inte en variabel
En struct-definition beskriver en typ, ungefär som en ritning. Instanser är de faktiska värden du bygger utifrån ritningen.
Snabb kontroll
Hur bygger du ett värde från en struct-typ?
Sammanfattning
Du har träffat på structs: nyckelordet struct grupperar namngivna fält till en typ, och Type{ .field = value } bygger en instans. 🧱
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 ”Deklarera structs och fält” gratis?
Ja – hela texten till ”Deklarera structs och 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 ”Deklarera structs och fält”?
Samla relaterade data i en typ 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 1 av 4.
Hur lång tid tar lektionen ”Deklarera structs och 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