Selles õpetuses saate teada mitmesugustest andmetüüpidest, mida Swift programmeerimiskeel toetab, ja kasutada seda muutuja või konstandi loomisel.
Andmetüüp on andmete tüüp (väärtus), mida muutuja või konstant saab sinna salvestada. Näiteks lõite artiklis Swift Variables and Constants muutuja ja konstandi stringiandmete mällu salvestamiseks.
Need andmed võivad olla tekst / string ("Tere") või number (12.45) või lihtsalt bitid (0 ja 1). Andmetüübi määratlemine tagab, et salvestatakse ainult määratletud tüüpi andmeid.
Vaatame stsenaariumi:
Oletame, et soovite mängu luua. Kuna enamikul mängudel on pärast mängu lõppu kõrge tulemus ja mängija nimi, peate oma mängu jaoks need kaks teavet salvestama.
Kõrge tulemus on number (nt 59) ja mängija nimi string (nt Jack). Andmete salvestamiseks saate luua kaks muutujat või konstanti.
Swiftis saab seda teha muutujate ja andmetüübi deklareerimisega järgmiselt:
var highScore: Int = 59 var playerName: String = "Jack"
Siin kuulutasime välja highScore tüüpi muutuja, Int
mis salvestab väärtuse 59. Ja mängijaName muutuja tüüpi, String
mis salvestab väärtuse Jack.
Kui teete midagi sellist:
var highScore: Int = "Jack"
Näete kompileerimisaja viga, mille kohaselt ei saa tüübi „String” väärtust teisendada määratud tüübiks „Int” .
Selle põhjuseks on see, et kuulutasite täisarvu salvestamiseks rekordi, kuid panite sellesse stringi. See viga tagab, et rekordit saab salvestada ainult numbri, mitte mängija nime.
Andmetüübi suurus
Teine oluline osa andmetüübist on selle suurus. See määrab kindlaks andmete suuruse, mida saab antud muutujas või konstandis salvestada.
Liik on suurus mõõdetuna natuke ja saab salvestada väärtusi upto 2 bitti . Kui te ei tea Bitist, mõelge sellele kui väärtusele, mis on kas 0 või 1.
Niisiis, tüübi suurus = 1 bitti puhul saab see salvestada ainult kuni 2, 1 = 2, kaks väärtust: kas 0 või 1. Nii et 1-bitine süsteem täheprogrammi jaoks saab tõlgendada 0 kui a / 0 ja 1 kui b / 1.0.
0 -> a või 0 1 -> b või 1
Samamoodi saab kahebittine süsteem salvestada kuni 2 2 = 4 väärtust: (00,01,10,11) ja iga kombinatsiooni võib esitada järgmiselt:
00 -> a või 0 01 -> b või 1 11 -> c või 2 10 -> d või 3
Bitt-süsteemi jaoks saab see salvestada sinna maksimaalselt 2 n väärtust.
Kiired andmetüübid
Allpool on loetletud kõige kiiremini kasutatavad andmetüübid:
Bool
- Muutuja / konstant deklareeritud Bool tüüpi saab salvestada ainult kaks väärtust kas
true
võifalse
. - Vaikeväärtus : false
- Seda kasutatakse sageli, kui töötate
if-else
avaldusega. Kiire, kui muidu artikkel käsitleb selle üksikasju.
Näide 1: Boole'i andmetüüp
let result:Bool = true print(result)
Programmi käivitamisel on väljund järgmine:
tõsi
Täisarv
- Täisarvu tüübi deklareeritud muutuja / konstant võib salvestada nii positiivseid kui ka negatiivseid täisarvusid, sealhulgas nulli, ilma murdosa.
- Vaikeväärtus : 0
- Suurus : 32/64 bitti sõltub platvormi tüübist.
- Vahemik : -2 147 483 648 kuni 2 147 483 647 (32-bitine platvorm)
-9223372036854775808 kuni 9223372036854775807 (64-bitine platvorm) - On palju variante Integer type.eg
UInt
,Int8
,Int16
jne Kõige tavalisem te kasutate onInt
. - Kui teil on nõue märkida suurus / tüüp täisarv muutuja / konstant mahub, võite seda hoida täpsemalt kasutades
UInt
,Int8
,Int16
jne, mis me uurida allpool.
Näide 2: täisarvu andmetüüp
var highScore:Int = 100 print(highScore) highScore = -100 print(highScore)
Programmi käivitamisel on väljund järgmine:
100–100
Ülaltoodud näites kuulutasime tüübi muutuva rekordi Int
. Esiteks määrasime selle väärtusega 100, nii print(highScore)
et ekraanil kuvatakse 100.
Hiljem muutsime väärtuse väärtuseks -100, kasutades omistamise operaatorit highScore = -100
, print(highScore)
väljastades ekraanil -100.
Uurime Swiftis mõnda Int
tüüpi varianti .
Int8
- Terviku tüübi variant, mis suudab salvestada nii positiivseid kui ka negatiivseid väikseid arve.
- Vaikeväärtus : 0
- Suurus : 8 bitti
- Vahemik : -128 kuni 127
Int8
Täisarv mahutab kokku 2 8 = (256) väärtused selles. st see suudab salvestada numbreid 0 kuni 255?
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,