Tipuri de date rapide (cu exemple)

Î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 Intcare stochează valoarea 59. Și, variabila playerName de tip Stringcare 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 truesau false.
  • Valoare implicită : fals
  • Este frecvent utilizat atunci când lucrați cu if-elsedeclaraț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, Int16etc Cel mai comun unul utilizați este Int.
  • 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, Int16etc 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 = -100atare, print(highScore)ieșiri -100 în ecran.

Să explorăm câteva variante de Inttip î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 Int8numă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, Int8include 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,
    • (null character),
    • \ (a plain backslash ),
    • (a tab character),
    • v (a vertical tab),
    • (carriage return),
    • " (double quote),
    • \' (single quote), and
    • u(n) (unicode code point ,n is in hexadecimal).

Example 8: String data type

 let playerName = "Jack" let playerNameWithQuotes = " "Jack "" let playerNameWithUnicode = "u(134)ack" print(playerName) print(playerNameWithQuotes) print(playerNameWithUnicode) 

When you run the program, the output will be:

 Jack "Jack" Ĵack 

See Swift characters and strings to learn more about characters and strings declaration, operations and examples.

In addition to this data types, there are also other advanced data types in Swift like tuple, optional, range, class, structure etc. which you will learn in later chapters.

Things to remember

1. Since Swift is a type inference language, variables or constants can automatically infer the type from the value stored. So, you can skip the type while creating variable or constant. However you may consider writing the type for readability purpose but it’s not recommended.

Example 9: Type inferred variable/constant

 let playerName = "Jack" print(playerName) 

Swift compiler can automatically infer the variable to be of String type because of its value.

2. Swift is a type safe language. If you define a variable to be of certain type you cannot change later it with another data type.

Exemplul 10: Swift este un limbaj sigur pentru tip

 let playerName:String playerName = 55 //compile time error 

Codul de mai sus va crea o eroare deoarece am specificat deja că variabila playerName va fi un șir. Deci nu putem stoca un număr întreg în el.

Articole interesante...