W tym samouczku dowiesz się o różnych typach danych obsługiwanych przez język programowania Swift i jak z nich korzystać podczas tworzenia zmiennej lub stałej.
Typ danych to typ danych (wartość), które może przechowywać zmienna lub stała. Na przykład w artykule Zmienne i stałe Swift utworzono zmienną i stałą do przechowywania danych w postaci ciągów znaków w pamięci.
Te dane mogą być tekstem / ciągiem znaków („Hello”), liczbą (12,45) lub po prostu bitami (0 i 1). Zdefiniowanie typu danych zapewnia przechowywanie tylko określonego typu danych.
Spójrzmy na scenariusz:
Załóżmy, że chcesz stworzyć grę. Ponieważ większość gier wyświetla wysoki wynik i imię gracza po zakończeniu gry, musisz zachować te dwa dane dla swojej gry.
Najlepszy wynik to liczba (np. 59), a nazwa gracza to string (np. Jack). Możesz utworzyć dwie zmienne lub stałe do przechowywania danych.
W Swift można to zrobić, deklarując zmienne i typ danych jako:
var highScore: Int = 59 var playerName: String = "Jack"
Tutaj zadeklarowaliśmy zmienną typu highScore, Int
która przechowuje wartość 59. Oraz zmienną playerName typu, String
która przechowuje wartość Jacka.
Jeśli jednak zrobisz coś takiego:
var highScore: Int = "Jack"
Pojawi się błąd czasu kompilacji informujący, że nie można przekonwertować wartości typu „String” na określony typ „Int” .
Dzieje się tak, ponieważ zadeklarowałeś highScore, aby przechowywać wartość całkowitą, ale umieściłeś w niej ciąg. Ten błąd zapewnia, że highScore może przechowywać tylko numer, a nie nazwę gracza.
Rozmiar typu danych
Inną ważną częścią typu danych jest ich rozmiar. Określa rozmiar danych, które mogą być przechowywane w danej zmiennej lub stałej.
A typowania wielkość mierzy się bitów i może przechowywać wartości zapisu do 2 bitów . Jeśli nie wiesz o Bicie, pomyśl o nim jako o wartości równej 0 lub 1.
Tak więc, dla rozmiaru Type = 1 bit, może on przechowywać tylko do 2 1 = 2, dwie wartości: 0 lub 1. Tak więc system 1-bitowy dla programu literowego może interpretować 0 jako a / 0 i 1 jako b / 1.0.
0 -> a lub 0 1 -> b lub 1
Podobnie, system dwubitowy może przechowywać do 2 2 = 4 wartości: (00,01,10,11), a każdą kombinację można przedstawić jako:
00 -> a lub 0 01 -> b lub 1 11 -> c lub 2 10 -> d lub 3
W przypadku systemu bitowego może przechowywać w nim maksymalnie 2 n wartości.
Szybkie typy danych
Poniżej wymieniono najpopularniejsze typy danych używane w Swift:
Bool
- Zmienna / Stała oświadczył typu Bool może przechowywać tylko dwie wartości albo
true
albofalse
. - Wartość domyślna : false
- Jest często używany podczas pracy z
if-else
instrukcją. Swift if else artykuł szczegółowo na ten temat.
Przykład 1: Boolean typ danych
let result:Bool = true print(result)
Po uruchomieniu programu wynik będzie następujący:
prawdziwe
Liczba całkowita
- Zmienna / stała zadeklarowana jako typ całkowity może przechowywać liczby całkowite zarówno dodatnie, jak i ujemne, w tym zero bez składników ułamkowych.
- Wartość domyślna : 0
- Rozmiar : 32/64 bity w zależności od typu platformy.
- Zakres : od -2 147 483 648 do 2147 483 647 (platforma 32-bitowa)
-9223372036854775808 do 9223372036854775807 (platforma 64-bitowa - Istnieje wiele wariantów Integer type.eg
UInt
,Int8
,Int16
itd. Najczęstszym z nich korzystać jestInt
. - Jeśli masz wymóg, aby określić rozmiar / rodzaj całkowitą zmienna / stała można trzymać, można przechowywać go bardziej szczegółowo za pomocą
UInt
,Int8
,Int16
itd., Które mamy zamiar zbadać poniżej.
Przykład 2: typ danych Integer
var highScore:Int = 100 print(highScore) highScore = -100 print(highScore)
Po uruchomieniu programu wynik będzie następujący:
100-100
W powyższym przykładzie zadeklarowaliśmy zmienną typu highScore Int
. Najpierw przypisaliśmy mu wartość 100, więc print(highScore)
na ekranie pojawia się 100.
Później zmieniliśmy wartość -100 za pomocą operatora przypisania, jak highScore = -100
tak, print(highScore)
wyjść -100 na ekranie.
Przyjrzyjmy się kilku wariantom tekstu Int
w języku Swift.
Int8
- Wariant typu Integer, który może przechowywać zarówno dodatnie, jak i ujemne małe liczby.
- Wartość domyślna : 0
- Rozmiar : 8 bitów
- Zakres : od -128 do 127
Liczba Int8
całkowita może przechowywać łącznie 2 8 = (256) wartości. tj. może przechowywać liczby od 0 do 255, prawda?
Tak, masz rację. Ale ponieważ Int8
zawiera zarówno liczby dodatnie, jak i ujemne, możemy przechowywać liczby od -128 do 127, w tym 0, które daje łącznie 256 wartości lub liczb.
var highScore:Int8 = -128//ok highScore = 127 //ok highScore = 128 // error here highScore = -129 //error here
Możesz również znaleźć najwyższą i najniższą wartość, jaką typ może przechowywać, używając .min
i .max
wbudowanych funkcji języka Swift.
Przykład 3: Typ danych Max i Min Int8
print(Int8.min) print(Int8.max)
Po uruchomieniu programu wynik będzie następujący:
-128 127,
UInt
- Wariant typu Integer o nazwie UInt (liczba całkowita bez znaku), który może przechowywać tylko liczby bez znaku (dodatnie lub zero).
- Wartość domyślna : 0
- Rozmiar : 32/64 bity w zależności od typu platformy.
- Zakres : 0 do 4294967295 (platforma 32-bitowa)
0 do 18446744073709551615 (platforma 64-bitowa)
Przykład 4: typ danych 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,