U ovom vodiču naučit ćete o različitim vrstama podataka koje programski jezik Swift podržava i koristiti ih tijekom stvaranja varijable ili konstante.
Vrsta podataka vrsta je podataka (vrijednosti) koju varijabla ili konstanta može pohraniti u nju. Na primjer, u članku Swift varijable i konstante stvorili ste varijablu i konstantu za pohranu podataka niza u memoriju.
Ti podaci mogu biti tekst / niz ("Pozdrav") ili broj (12.45) ili samo bitovi (0 i 1). Definiranje tipa podataka osigurava pohranu samo definirane vrste podataka.
Pogledajmo scenarij:
Pretpostavimo da želite stvoriti igru. Budući da većina igara prikazuje visoku ocjenu i ime igrača nakon završetka igre, morate pohraniti ova dva podatka za svoju igru.
Najbolji rezultat je broj (npr. 59) i ime igrača niz (npr. Jack). Za pohranu podataka možete stvoriti dvije varijable ili konstante.
U Swiftu se to može učiniti deklariranjem varijabli i tipa podataka kao:
var highScore: Int = 59 var playerName: String = "Jack"
Ovdje smo proglasili highScore varijablu tipa Int
koja pohranjuje vrijednost 59. I varijablu playerName tipa String
koja pohranjuje vrijednost Jacka.
Međutim, ako napravite nešto poput ovoga:
var highScore: Int = "Jack"
Dobit ćete pogrešku vremena kompajliranja navodeći da vrijednost tipa 'String' ne može pretvoriti u navedeni tip 'Int' .
To je zato što ste proglasili highScore za pohranu cijele vrijednosti, ali ste u njega postavili niz. Ova pogreška osigurava da highScore može pohraniti samo broj, a ne i ime igrača.
Veličina vrste podataka
Drugi važan dio vrste podataka je veličina. Ovo određuje veličinu podataka koji se mogu pohraniti u zadanu varijablu ili konstantu.
A Tip je veličina se mjeri u odnosu na malo i može pohraniti vrijednosti upto 2 bita . Ako ne znate za Bit, shvatite to kao vrijednost koja je 0 ili 1.
Dakle, za veličinu tipa = 1 bit može pohraniti samo do, 2 1 = 2, dvije vrijednosti: ili 0 ili 1. Dakle, 1-bitni sustav za slovni program može 0 protumačiti kao a / 0, a 1 kao b / 1.0.
0 -> a ili 0 1 -> b ili 1
Isto tako, dvobitni sustav može pohraniti do 2 2 = 4 vrijednosti: (00,01,10,11), a svaka kombinacija može se predstaviti kao:
00 -> a ili 0 01 -> b ili 1 11 -> c ili 2 10 -> d ili 3
Za sustav bitova u njega može pohraniti najviše 2 n vrijednosti.
Brze vrste podataka
U nastavku su navedene najčešće vrste podataka koje se koriste u brzini:
Bool
- Varijabla / konstanta deklarirana za Bool tip može pohraniti samo dvije vrijednosti
true
ilifalse
. - Zadana vrijednost : false
- Često se koristi kada radite s
if-else
izjavama. Brzi, ako ne, članak detaljno govori o tome.
Primjer 1: logička vrsta podataka
let result:Bool = true print(result)
Kada pokrenete program, izlaz će biti:
pravi
Cijeli broj
- Varijabla / konstanta deklarirana cijelog broja može pohraniti cijele brojeve i pozitivne i negativne, uključujući nulu, bez frakcijskih komponenata.
- Zadana vrijednost : 0
- Veličina : 32/64 bit ovisi o vrsti platforme.
- Raspon : -2,147,483,648 do 2,147,483,647 (32-bitna platforma)
-9223372036854775808 do 9223372036854775807 (64-bitna platforma - Postoje mnoge inačice tipa Integer
UInt
, nprInt8
.Int16
Itd. Najčešća je ona koju koristiteInt
. - Ako imate potrebu za određivanje veličine / tip broj varijabla / konstanta može držati, možete pohraniti ga točnije korištenja
UInt
,Int8
,Int16
itd koje ćemo istražiti u nastavku.
Primjer 2: cjeloviti tip podataka
var highScore:Int = 100 print(highScore) highScore = -100 print(highScore)
Kada pokrenete program, izlaz će biti:
100 -100
U gornjem primjeru proglasili smo varijablu highScore tipa Int
. Prvo smo mu dodijelili vrijednost 100, tako da print(highScore)
na ekranu izlazi 100.
Kasnije smo promijenili vrijednost na -100 pomoću operatora dodjele highScore = -100
, print(highScore)
na zaslon izlazi -100.
Istražimo neke varijante Int
tipa u Swiftu.
Int8
- Varijanta tipa Integer koja može pohraniti i pozitivne i negativne male brojeve.
- Zadana vrijednost : 0
- Veličina : 8 bit
- Raspon : -128 do 127
Cijeli Int8
broj može u njemu pohraniti ukupno 2 8 = (256) vrijednosti. tj. može pohraniti brojeve od 0 do 255 zar ne?
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,