În acest tutorial, veți afla despre diferite tipuri de date pe care le acceptă limbajul de programare Swift și îl utilizați în timp ce creați o variabilă sau o constantă.
Un tip de date este tipul de date (valoare) pe care o variabilă sau constantă îl poate stoca în el. De exemplu, în articolul Variabile și constante Swift, ați creat o variabilă și o constantă pentru a stoca datele șirului în memorie.
Aceste date pot fi un text / șir („Bună ziua”) sau un număr (12.45) sau doar biți (0 & 1). Definirea tipului de date asigură stocarea numai a tipului de date definit.
Să vedem un scenariu:
Să presupunem că doriți să creați un joc. Deoarece majoritatea jocurilor afișează un scor ridicat și numele jucătorului după finalizarea jocului, trebuie să stocați aceste două date pentru jocul dvs.
Scorul cel mai mare este un număr (ex. 59), iar numele jucătorului un șir (de ex. Jack). Puteți crea două variabile sau constante pentru a stoca datele.
În Swift, acest lucru se poate face prin declararea variabilelor și a tipului de date ca:
var highScore: Int = 59 var playerName: String = "Jack"
Aici, am declarat variabila highScore de tip Int
care stochează valoarea 59. Și, variabila playerName de tip String
care stochează valoarea Jack.
Cu toate acestea, dacă faceți așa ceva:
var highScore: Int = "Jack"
Veți primi o eroare de timp de compilare, declarând că nu poate converti valoarea de tip „Șir” în tipul specificat „Int” .
Acest lucru se datorează faptului că ați declarat highScore pentru a stoca valoarea întreagă, dar ați plasat șir în ea. Această eroare asigură că highScore poate stoca doar un număr și nu numele jucătorului.
Dimensiunea unui tip de date
O altă parte importantă a unui tip de date este dimensiunea sa. Aceasta specifică dimensiunea datelor care pot fi stocate într-o anumită variabilă sau constantă.
Dimensiunea unui tip este măsurată în termeni de biți și poate stoca valori de până la 2 biți . Dacă nu știți despre Bit, gândiți-vă la ea ca la o valoare care este fie 0, fie 1.
Deci, pentru o dimensiune de tip = 1 bit, poate stoca doar până la, 2 1 = 2, două valori: fie 0 sau 1. Deci, un sistem de 1 bit pentru un program de litere poate interpreta 0 ca a / 0 și 1 ca b / 1.0.
0 -> a sau 0 1 -> b sau 1
De asemenea, un sistem pe doi biți poate stoca până la 2 2 = 4 valori: (00,01,10,11) și fiecare combinație poate fi reprezentată ca:
00 -> a sau 0 01 -> b sau 1 11 -> c sau 2 10 -> d sau 3
Pentru un sistem de biți, acesta poate stoca maximum 2 n valori în el.
Tipuri de date rapide
Cele mai frecvente tipuri de date utilizate în rapid sunt enumerate mai jos:
Bool
- Variabila / constantă declarată de tip Bool poate stoca doar două valori , fie
true
saufalse
. - Valoare implicită : fals
- Este frecvent utilizat atunci când lucrați cu
if-else
declarație. Rapid, dacă altceva articolul acoperă în detaliu despre el.
Exemplul 1: tip de date boolean
let result:Bool = true print(result)
Când rulați programul, ieșirea va fi:
Adevărat
Întreg
- Variabila / Constanta declarată de tip întreg poate stoca numere întregi atât pozitive cât și negative, inclusiv zero fără componente fracționare.
- Valoare implicită : 0
- Dimensiune : 32/64 biți depinde de tipul platformei.
- Gama : de la -2.147.483.648 până
la 2.147.483.647 ( platformă pe 32 de biți) -9223372036854775808 până la 9223372036854775807 (platformă pe 64 de biți) - Există mai multe variante de Integer type.eg
UInt
,Int8
,Int16
etc Cel mai comun unul utilizați esteInt
. - Dacă aveți o cerință pentru a specifica dimensiunea / tipul de întreg o variabilă / constantă poate deține, puteți stoca - l folosind mai specific
UInt
,Int8
,Int16
etc care vom explora mai jos.
Exemplul 2: tip de date întregi
var highScore:Int = 100 print(highScore) highScore = -100 print(highScore)
Când rulați programul, ieșirea va fi:
100 -100
În exemplul de mai sus am declarat o variabilă highScore de tip Int
. În primul rând, l-am atribuit cu o valoare de 100, astfel încât să print(highScore)
scoată 100 pe ecran.
Mai târziu, am schimbat valoarea la -100 folosind operatorul de atribuire ca highScore = -100
atare, print(highScore)
ieșiri -100 în ecran.
Să explorăm câteva variante de Int
tip în Swift.
Int8
- Varianta de tip întreg, care poate stoca atât numere mici pozitive, cât și negative.
- Valoare implicită : 0
- Dimensiune : 8 biți
- Interval : -128 până la 127
Un Int8
număr întreg poate stoca în total 2 8 = (256) valori în el. adică poate stoca numere de la 0 la 255 nu?
Da, ai dreptate. Dar, deoarece, Int8
include atât numere pozitive, cât și negative, putem stoca numere de la -128 la 127, inclusiv 0, care totalizează la 256 de valori sau numere.
var highScore:Int8 = -128//ok highScore = 127 //ok highScore = 128 // error here highScore = -129 //error here
De asemenea, puteți afla cea mai mare și cea mai mică valoare pe care o poate stoca un tip folosind .min
și .max
încorporând funcțiile Swift.
Exemplul 3: tip de date Max și Min Int8
print(Int8.min) print(Int8.max)
Când rulați programul, ieșirea va fi:
-128 127
UInt
- Varianta de tip întreg numită UInt (Unsigned Integer) care poate stoca numai numere nesemnate (pozitive sau zero).
- Valoare implicită : 0
- Dimensiune : 32/64 biți depinde de tipul platformei.
- Gama : 0 - 4294967295 (platformă pe 32 biți)
0 - 18446744073709551615 (platformă pe 64 biți)
Exemplul 4: tip de date UInt
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,