In deze zelfstudie leert u over verschillende gegevenstypen die de programmeertaal Swift ondersteunt en gebruikt u deze bij het maken van een variabele of constante.
Een gegevenstype is het type gegevens (waarde) dat een variabele of constante erin kan opslaan. In het artikel Swift Variables and Constants hebt u bijvoorbeeld een variabele en een constante gemaakt om stringgegevens in het geheugen op te slaan.
Deze gegevens kunnen een tekst / string ("Hallo") of een getal (12.45) of gewoon bits (0 & 1) zijn. Door het gegevenstype te definiëren, wordt gegarandeerd dat alleen het gedefinieerde type gegevens wordt opgeslagen.
Laten we naar een scenario kijken:
Stel dat u een spel wilt maken. Aangezien de meeste spellen een hoge score en de naam van de speler weergeven nadat het spel is afgelopen, moet u deze twee gegevens voor uw spel opslaan.
De hoogste score is een nummer (bijvoorbeeld 59) en de naam van de speler een string (bijvoorbeeld Jack). U kunt twee variabelen of constanten maken om de gegevens op te slaan.
In Swift kan dit worden gedaan door variabelen en het gegevenstype te declareren als:
var highScore: Int = 59 var playerName: String = "Jack"
Hier hebben we de highScore-variabele van het type gedeclareerd Int
dat waarde 59 opslaat. En playerName-variabele van het type String
dat de waarde Jack opslaat.
Als u echter zoiets als dit doet:
var highScore: Int = "Jack"
U krijgt een compilatietijdfout waarin staat dat de waarde van het type 'String' niet kan worden geconverteerd naar het opgegeven type 'Int' .
Het is omdat je highScore hebt verklaard om de gehele waarde op te slaan, maar er een string in hebt geplaatst. Deze fout zorgt ervoor dat highScore alleen een nummer kan opslaan en niet de naam van de speler.
Grootte van een gegevenstype
Een ander belangrijk onderdeel van een gegevenstype is de grootte. Dit specificeert de grootte van gegevens die in een bepaalde variabele of constante kunnen worden opgeslagen.
De grootte van een type wordt gemeten in termen van bits en kan waarden tot 2 bits opslaan . Als u Bit niet kent, beschouw het dan als een waarde die 0 of 1 is.
Dus voor een Type size = 1 bit, kan het slechts tot, 2 1 = 2, twee waarden opslaan : ofwel 0 of 1. Dus een 1 bit systeem voor een letterprogramma kan 0 interpreteren als a / 0 en 1 als b / 1.0.
0 -> a of 0 1 -> b of 1
Evenzo kan een twee-bits systeem tot 2 2 = 4 waarden opslaan : (00,01,10,11) en elke combinatie kan worden weergegeven als:
00 -> a of 0 01 -> b of 1 11 -> c of 2 10 -> d of 3
Voor een bitsysteem kan het er maximaal 2 n waarden in opslaan .
Snelle gegevenstypen
De meest voorkomende gegevenstypen die in swift worden gebruikt, worden hieronder vermeld:
Bool
- Variabele / Constant verklaard Bool type kan slechts twee waarden ofwel op te slaan
true
offalse
. - Standaardwaarde : false
- Het wordt vaak gebruikt wanneer u met
if-else
statement werkt. Swift if else artikel behandelt het in detail.
Voorbeeld 1: Booleaans gegevenstype
let result:Bool = true print(result)
Wanneer u het programma uitvoert, is de uitvoer:
waar
Geheel getal
- Variabele / constante gedeclareerd van het type integer kan hele getallen opslaan, zowel positief als negatief, inclusief nul zonder fractionele componenten.
- Standaardwaarde : 0
- Grootte : 32/64 bit, afhankelijk van het type platform.
- Bereik : -2.147.483.648 tot 2.147.483.647 (32 bit platform)
-9223372036854775808 tot 9223372036854775807 (64 bit platform - Er zijn vele varianten van Integer type.eg
UInt
,Int8
,Int16
etc. De meest voorkomende je gebruikt isInt
. - Als u een eis om de grootte / type integer een variabele / constante kan houden opgeeft, kunt u opslaan meer in het bijzonder het gebruik van
UInt
,Int8
,Int16
etc. die we gaan hieronder te verkennen.
Voorbeeld 2: gegevenstype geheel getal
var highScore:Int = 100 print(highScore) highScore = -100 print(highScore)
Wanneer u het programma uitvoert, is de uitvoer:
100-100
In het bovenstaande voorbeeld hebben we een variabele highScore van het type gedeclareerd Int
. Eerst hebben we het een waarde van 100 toegewezen, zodat er print(highScore)
100 op het scherm wordt weergegeven.
Later hebben we de waarde gewijzigd in -100 met behulp van de toewijzingsoperator, highScore = -100
zodat print(highScore)
-100 in het scherm wordt weergegeven.
Laten we enkele varianten van Int
type in Swift bekijken.
Int8
- Variant van het type Integer die zowel positieve als negatieve kleine getallen kan opslaan.
- Standaardwaarde : 0
- Grootte : 8 bit
- Bereik : -128 tot 127
Een Int8
geheel getal kan er in totaal 28 = (256) waarden in opslaan . dwz het kan nummers opslaan van 0 tot 255 toch?
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,