Inferens med litteraler
Styr om en litteral blir Int eller Double.
Inferens med litteraler är en gratis lektion i Swift Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Swift Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Swift Academy innehåller totalt 4 lektioner.
Standardtyper för literaler
Varje typ av literal har en standardtyp som härleds: heltal blir Int, flyttal blir Double, text blir String och true/false blir Bool.
let i = 5
let d = 5.0
let s = "5"
let b = true
print(type(of: i), type(of: d), type(of: s), type(of: b))let x = 5 är Int
En heltalsliteral utan decimalpunkt härleder alltid Int, plattformens standardtyp för heltal.
let x = 5
print(type(of: x))
print(x + 1)let y: Double = 5
En typannotering med Double gör att samma literal 5 blir ett flyttalsvärde.
let y: Double = 5
print(type(of: y))
print(y / 2)Decimalpunkt ger Double
Om Ni skriver 5.0 härleds Double utan att någon typannotering behövs.
let z = 5.0
print(type(of: z))
print(z * 2)Int och Double kan inte blandas
Swift konverterar inte implicit mellan numeriska typer. Ni måste konvertera explicit för att kombinera en Int och en Double.
let count = 3
let price = 1.5
let total = Double(count) * price
print(total)Float kontra Double
Standardtypen för decimaler är Double. Ange Float när Ni specifikt vill använda den mindre 32-bitstypen.
let big = 3.14
let small: Float = 3.14
print(type(of: big), type(of: small))Typannoteringar för heltal
Ange typen för att välja ett heltal med bestämd storlek, till exempel Int8 eller UInt, i stället för standardtypen Int.
let tiny: Int8 = 120
let unsigned: UInt = 9
print(type(of: tiny), type(of: unsigned))String kontra Character
En literal inom dubbla citattecken härleder String. I ett sammanhang med ett enda tecken kan Character härledas med hjälp av en typannotering.
let word = "Swift"
let letter: Character = "S"
print(type(of: word), type(of: letter))Booleska literaler
Nyckelorden true och false härleder Bool.
let isReady = false
print(type(of: isReady))Literaler i uttryck
När literaler av olika typer blandas i ett uttryck väljer Swift en gemensam typ. 1 + 2.0 behandlar heltalsliteralen som en Double.
let mixed = 1 + 2.0
print(mixed)
print(type(of: mixed))Typannoteringen anpassar literalen
Literalen är flexibel i sig; typannoteringen avgör dess slutliga typ. Därför fungerar let y: Double = 5 utan att Ni behöver skriva 5.0.
let a: Double = 7
let b: Float = 7
print(a, b)Snabbtest
Testa hur literaler härleder typer.
Sammanfattning
Heltalsliteraler får som standard typen Int och decimaler typen Double. Typannoteringar som : Double, : Float, : Int8 eller : Character åsidosätter standardtypen genom att anpassa den flexibla literalen. Numeriska typer konverteras aldrig implicit.
let i = 5
let d: Double = 5
print(type(of: i), type(of: d))Lär dig Swift 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
- 122
- Lektioner
- 409
Vanliga frågor
Är lektionen ”Inferens med litteraler” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Swift Academy, inklusive ”Inferens med litteraler”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Swift Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Inferens med litteraler”?
Styr om en litteral blir Int eller Double. Ni övar på Swift 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 Swift Academy?
Du behöver inga förkunskaper. Utbildningen i Swift 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 ”Inferens med litteraler”?
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 Swift Academy-lektionen?
Ja. Varje Swift 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
- Så fungerar typinferens
- När explicita annoteringar behövs
- Inferens med litteraler
- Inferens i closures