I denne opplæringen vil du lære om forskjellige datatyper som Swift programmeringsspråk støtter og bruke det mens du lager en variabel eller en konstant.
En datatype er typen data (verdi) en variabel eller konstant kan lagre i den. For eksempel, i artikkelen Swift Variables and Constants, opprettet du en variabel og en konstant for å lagre strengdata i minnet.
Disse dataene kan være en tekst / streng ("Hei") eller et tall (12.45) eller bare biter (0 & 1). Definisjon av datatypen sikrer at bare den definerte datatypen lagres.
La oss se på et scenario:
Anta at du vil lage et spill. Siden de fleste spill viser høy score og spillerens navn etter at spillet er fullført, må du lagre disse to dataene for spillet ditt.
Den høye poengsummen er et tall (f.eks. 59) og spillerens navn en streng (f.eks. Jack). Du kan opprette to variabler eller konstanter for å lagre dataene.
I Swift kan dette gjøres ved å erklære variabler og datatypen som:
var highScore: Int = 59 var playerName: String = "Jack"
Her erklærte vi highScore-variabelen av typen Int
som lagrer verdien 59. Og playerName-variabelen av typen String
som lagrer verdien Jack.
Men hvis du gjør noe slikt:
var highScore: Int = "Jack"
Du får en kompileringstidsfeil som sier at du ikke kan konvertere verdien av typen 'Streng' til spesifisert type 'Int' .
Det er fordi du erklærte highScore for å lagre heltall, men plasserte streng i den. Denne feilen sikrer at highScore bare kan lagre et nummer og ikke spillerens navn.
Størrelse på en datatype
En annen viktig del av en datatype er størrelsen. Dette spesifiserer størrelsen på data som kan lagres i en gitt variabel eller konstant.
En type størrelse måles i form av bit og kan lagre verdier opptil 2 bits . Hvis du ikke vet om Bit, kan du tenke på det som en verdi som enten er 0 eller 1.
Så, for en Type størrelse = 1 bit, kan den bare lagre opptil, 2 1 = 2, to verdier: enten 0 eller 1. Så et 1-bits system for et bokstavprogram kan tolke 0 som a / 0 og 1 som b / 1.0.
0 -> a eller 0 1 -> b eller 1
På samme måte kan et to bits system lagre opptil 2 2 = 4 verdier: (00,01,10,11) og hver kombinasjon kan vises som:
00 -> a eller 0 01 -> b eller 1 11 -> c eller 2 10 -> d eller 3
For et bit-system kan det lagre maksimalt 2 n verdier i det.
Rask datatyper
De vanligste datatypene som brukes raskt, er oppført nedenfor:
Bool
- Variabel / konstant deklarert av Bool-type kan bare lagre to verdier enten
true
ellerfalse
. - Standardverdi : false
- Det brukes ofte når du jobber med
if-else
uttalelse. Rask artikkel om dette, hvis ellers.
Eksempel 1: Boolsk datatype
let result:Bool = true print(result)
Når du kjører programmet, vil utdataene være:
ekte
Heltall
- Variabel / konstant erklært av heltall kan lagre hele tall både positive og negative inkludert null uten brøkdeler.
- Standardverdi : 0
- Størrelse : 32/64 bit avhenger av plattformtypen.
- Område :
-2,147,483,648 til 2,147,483,647 ( 32-biters plattform) -9223372036854775808 til 9223372036854775807 (64-biters plattform) - Det finnes mange varianter av Integer type.eg
UInt
,Int8
,Int16
etc. Den vanligste du bruker er avInt
. - Hvis du har et krav om å spesifisere størrelse / type heltall en variabel / konstant kan holde, kan du lagre det mer spesifikt hjelp
UInt
,Int8
,Int16
etc. som vi skal utforske nedenfor.
Eksempel 2: Heltalldatatype
var highScore:Int = 100 print(highScore) highScore = -100 print(highScore)
Når du kjører programmet, vil utdataene være:
100 -100
I eksemplet ovenfor erklærte vi en variabel highScore av typen Int
. Først tildelte vi den med en verdi på 100, slik at print(highScore)
utganger 100 på skjermen.
Senere endret vi verdien til -100 ved å bruke oppdragsoperatøren som highScore = -100
det, print(highScore)
utganger -100 på skjermen.
La oss utforske noen varianter av Int
typen i Swift.
Int8
- Variant av heltalstype som kan lagre både positive og negative små tall.
- Standardverdi : 0
- Størrelse : 8 bit
- Rekkevidde : -128 til 127
Et Int8
helt tall kan lagre totalt 2 8 = (256) verdier i det. dvs. det kan lagre tall fra 0 til 255, ikke sant?
Yes, you are correct. But since, Int8
includes both positive and negative numbers we can store numbers from -128 to 127 including 0 which totals to 256 values or numbers.
var highScore:Int8 = -128//ok highScore = 127 //ok highScore = 128 // error here highScore = -129 //error here
You can also find out the highest and lowest value a type can store using .min
and .max
built in Swift functions.
Example 3: Max and Min Int8 data type
print(Int8.min) print(Int8.max)
When you run the program, the output will be:
-128 127
UInt
- Variant of Integer type called UInt (Unsigned Integer) which can only store unsigned numbers (positive or zero).
- Default Value: 0
- Size: 32/64 bit depends on the platform type.
- Range: 0 to 4294967295 (32 bit platform)
0 to 18446744073709551615 (64 bit platform)
Example 4: UInt data type
var highScore:UInt = 100 highScore = -100//compile time error when trying to
The above code will give you a compile time error because a Unsigned Integer can only store either 0 or a positive value. Trying to store a negative value in an Unsigned Integer will give you an error.
Float
- Variables or Constants declared of float type can store number with decimal or fraction points.
- Default Value: 0.0
- Size: 32 bit floating point number.
- Range: 1.2*10-38 to 3.4 * 1038 (~6 digits)
Example 5: Float data type
let highScore:Float = 100.232 print(highScore)
When you run the program, the output will be:
100.232
Double
- Variables / Constants declared of Double type also stores number with decimal or fraction points as Float but larger decimal points than Float supports.
- Default value : 0.0
- Size: 64-bit floating point number. (Therefore, a variable of type Double can store number with decimal or fraction points larger than Float supports)
- Range: 2.3*10-308 to 1.7*10308 (~15 digits)
Example 6: Double data type
let highScore:Double = 100.232321212121 print(highScore)
When you run the program, the output will be:
100.232321212121
Character
- Variables/Constants declared of Character type can store a single-character string literal.
- You can include emoji or languages other than english as an character in Swift using escape sequence u(n) (unicode code point ,n is in hexadecimal).
Example 7: Character data type
let playerName:Character = "J" let playerNameWithUnicode:Character = "u(134)" print(playerName) print(playerNameWithUnicode)
When you run the program, the output will be:
J Ĵ
String
- Variables or Constants declared of String type can store collection of characters.
- Default Value: "" (Empty String)
- It is Value type. See Swift value and Reference Type .
- You can use for-in loop to iterate over a string. See Swift for-in loop.
- Swift also supports a few special escape sequences to use them in string. For example,