Ebben az oktatóanyagban megismerheti a Swift programozási nyelv által támogatott különböző adattípusokat, és felhasználhatja azokat változó vagy konstans létrehozása közben.
Az adattípus az az adattípus (érték), amelyet egy változó vagy konstans tárolhat benne. Például a Swift Variables and Constants cikkben létrehozott egy változót és egy konstansot a string adatok memóriájában történő tárolásához.
Ezek az adatok lehetnek szövegek / karakterláncok ("Hello") vagy számok (12.45), vagy csak bitek (0 & 1). Az adattípus meghatározása biztosítja, hogy csak a meghatározott típusú adatot tárolja.
Nézzünk meg egy forgatókönyvet:
Tegyük fel, hogy játékot szeretne létrehozni. Mivel a legtöbb játék magas pontszámot és a játékos nevét jeleníti meg a játék befejezése után, ezt a két adatot kell tárolnia a játékához.
A magas pontszám egy szám (pl. 59), a játékos neve pedig egy húr (pl. Jack). Az adatok tárolásához két változót vagy állandót hozhat létre.
A Swiftben ezt úgy tehetjük meg, hogy a változókat és az adattípust a következőképpen deklaráljuk:
var highScore: Int = 59 var playerName: String = "Jack"
Itt deklaráltunk egy highScore változót, Int
amely az 59 értéket tárolja. És a playerName változó, String
amely Jack értékét tárolja.
Ha azonban ilyesmit csinál:
var highScore: Int = "Jack"
Fordítási idő hibát kap, amely szerint a „String” típusú érték nem konvertálható a megadott „Int” típusra .
Ez azért van, mert az egész szám tárolására deklarálta a HighScore értéket, de karakterláncot helyezett el benne. Ez a hiba biztosítja, hogy a highScore csak számot tárolhat, a játékos nevét nem.
Adattípus mérete
Az adattípus másik fontos része a mérete. Ez adja meg az adott változóban vagy konstansban tárolható adatok méretét.
Egy típus méretét bitteként mérik, és legfeljebb 2 bit értéket képes tárolni . Ha nem tud a Bit-ről, gondoljon arra, hogy ez 0 vagy 1 érték.
Tehát egy Type size = 1 bit esetén csak upto, 2 1 = 2, két értéket képes tárolni : 0 vagy 1. Tehát egy betűs program 1 bites rendszere 0-t értelmezhet a / 0-ként, 1-et pedig b / 1.0.
0 -> a vagy 0 1 -> b vagy 1
Hasonlóképpen, egy kétbites rendszer legfeljebb 2 2 = 4 értéket képes tárolni : (00,01,10,11), és mindegyik kombináció a következőképpen ábrázolható:
00 -> a vagy 0 01 -> b vagy 1 11 -> c vagy 2 10 -> d vagy 3
Bitrendszer esetén legfeljebb 2 n értéket képes tárolni benne.
Swift adattípusok
Az alábbiakban felsoroljuk a leggyakrabban használt gyors adattípusokat:
Bool
- A Bool típusú változó / állandó kijelölt csak két értéket vagy
true
vagy tárolhatfalse
. - Alapértelmezett érték : hamis
- Gyakran használják, ha
if-else
kimutatással dolgozik . Ha másképp, a cikk részletesen foglalkozik vele.
1. példa: Logikai adattípus
let result:Bool = true print(result)
A program futtatásakor a kimenet a következő lesz:
igaz
Egész szám
- Az egész típusú változó / konstans deklarálhatja az egész számokat pozitív és negatív értékeket is, beleértve a nullát is, töredékkomponens nélkül.
- Alapértelmezett érték : 0
- Méret : 32/64 bit a platform típusától függ.
- Tartomány :
-2 147 483 648 - 2 147 483 647 (32 bites platform) -9223372036854775808 és 9223372036854775807 (64 bites platform) - Sok változatai Egész type.eg
UInt
,Int8
,Int16
stb A leggyakoribb egyik használata találhatóInt
. - Ha van egy követelmény, hogy adja meg a méretet / típusa integer változó / állandó fér, akkor tárolja azt pontosabban segítségével
UInt
,Int8
,Int16
stb ami fogunk felfedezni az alábbiakban.
2. példa: Egész adatok típusa
var highScore:Int = 100 print(highScore) highScore = -100 print(highScore)
A program futtatásakor a kimenet a következő lesz:
100 -100
A fenti példában egy változó highScore típust deklaráltunk Int
. Először 100-as értéket rendeltünk hozzá, így print(highScore)
100-ot ad ki a képernyőn.
Később az értéket 100-ra változtattuk a hozzárendelés operátor használatával, highScore = -100
így print(highScore)
a képernyőn -100-ot adunk meg .
Fedezzük fel Int
a Swift néhány típusváltozatát .
Int8
- Az Egész szám típusa, amely pozitív és negatív kis számokat egyaránt képes tárolni.
- Alapértelmezett érték : 0
- Méret : 8 bit
- Tartomány : -128 és 127 között
Egy Int8
egész szám összesen 2 8 = (256) értéket tárolhat benne. azaz 0 és 255 közötti számokat képes tárolni?
Igen igazad van. De mivel Int8
a pozitív és a negatív számokat egyaránt tartalmazza, számokat tárolhatunk -128 és 127 között, beleértve a 0-t is, ami összesen 256 értéket vagy számot tartalmaz.
var highScore:Int8 = -128//ok highScore = 127 //ok highScore = 128 // error here highScore = -129 //error here
A Swift függvények használatával .min
és .max
beépített funkcióival megtudhatja a legmagasabb és legalacsonyabb értéket is, amelyet egy típus tárolhat .
3. példa: Max és Min Int8 adattípus
print(Int8.min) print(Int8.max)
A program futtatásakor a kimenet a következő lesz:
-128 127
UInt
- Egész szám típusú változat, az úgynevezett UInt (Unsigned Integer), amely csak előjel nélküli számokat képes tárolni (pozitív vagy nulla).
- Alapértelmezett érték : 0
- Méret : 32/64 bit a platform típusától függ.
- Tartomány : 0-tól 4294967295-ig (32 bites platform)
0-tól 18446744073709551615 (64 bites platform)
4. példa: UInt adattípus
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,