Swift Academy · Lektion

Inferens med litteraler

Styr om en litteral blir Int eller Double.

Lektion 3 av 413 steg

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))
Gratis att börja

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

  1. Så fungerar typinferens
  2. När explicita annoteringar behövs
  3. Inferens med litteraler
  4. Inferens i closures
← Tillbaka till Swift Academy