Typeinferens eller eksplicitte typer
Lad Zig udlede typen, eller angiv den selv.
Typeinferens eller eksplicitte typer er en gratis Zig Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Zig Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Zig Academy-kurset indeholder 4 lektioner i alt.
To måder at angive typer på
Når du binder en værdi, kan Zig finde typen for dig, eller du kan skrive den eksplicit. Begge dele bygger på Zigs stærke, statiske typesystem.
Udledning til tydelige værdier
Hvis værdien gør typen åbenlys, kan du lade Zig udlede den. const name = "Ada" er tydeligt tekst, så ingen typeangivelse er nødvendig.
const name = "Ada";Angiv typen eksplicit
Hvis du selv vil angive en type, skriver du et kolon og typen efter navnet. Sådan fastlåser du en bestemt heltalsbredde.
const age: u8 = 30;Standardtype for heltal
En udledt heltalsliteral bliver til en comptime_int, indtil du bruger den. Når den placeres i en plads, konverterer Zig den til den nødvendige bredde.
const small = 7; // comptime_intHvornår skal du angive typen
Nogle gange er værdien alene ikke nok. En var, der starter ved 0, kræver en eksplicit type, så Zig ved, om det er en u8 eller en i64.
var counter: u32 = 0;Flydende tal kræver også omtanke
En bar 3.14 er en comptime_float. Angiv typen for at vælge f32 eller f64, når præcision og hukommelsesforbrug faktisk betyder noget for dig.
const ratio: f32 = 3.14;Udledning hjælper læsbarheden
Når typen er åbenlys ud fra konteksten, holder det linjerne rene at udelade den. Angiv kun typen, når det giver reel klarhed eller er påkrævet.
Konvertering følger målet
Tildel 5 til en u16-plads, så passer literalen uden videre. Zig udfører sikker konvertering til den erklærede type, når det er muligt.
const n: u16 = 5;Eksplicit ved grænser
Ved funktionssignaturer og datastrukturer er typer altid eksplicitte. Udledning er en lokal bekvemmelighed, ikke en måde at springe erklæringer over på.
fn area(w: u32, h: u32) u32 {}Ingen overraskende konverteringer
Zig konverterer ikke stiltiende et flydende tal til et heltal for dig. Uoverensstemmende typer giver en fejl, så taladfærden forbliver forudsigelig.
En enkel vane
Udled typen, når værdien taler for sig selv; angiv den, når typen er den information, læseren har brug for. Klarhed bør styre valget.
Hurtig kontrol
Du skriver var counter = 0;, og Zig klager. Hvorfor vil den have mere fra dig?
Opsummering
Du har set, at Zig kan udlede en type fra en tydelig værdi, eller at du kan angive den med et kolon. Lad klarhed og påkrævede tilfælde afgøre, hvad du bruger. 🎯
Lær Zig med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Typeinferens eller eksplicitte typer” gratis?
Ja — hele teksten til “Typeinferens eller eksplicitte typer” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Zig Academy-kurset, skal du opgradere til CoddyKit PRO. Zig Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Typeinferens eller eksplicitte typer”?
Lad Zig udlede typen, eller angiv den selv. Du øver dig i Zig Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Zig Academy?
Der kræves ingen tidligere erfaring. Zig Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Typeinferens eller eksplicitte typer”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Zig Academy-lektion?
Ja. Alle Zig Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- const til værdier, der aldrig ændres
- var til variabel tilstand
- Typeinferens eller eksplicitte typer
- undefined og ikke-initialiseret hukommelse