Bu eğitimde, Swift programlama dilinin desteklediği farklı veri türleri hakkında bilgi edinecek ve bir değişken veya sabit oluştururken bunu kullanacaksınız.
Bir veri türü, bir değişken veya sabitin içinde saklayabileceği veri türüdür (değer). Örneğin, Swift Değişkenleri ve Sabitleri makalesinde, dize verilerini bellekte saklamak için bir değişken ve bir sabit oluşturdunuz.
Bu veriler bir metin / dize ("Merhaba") veya bir sayı (12.45) veya sadece bitler (0 ve 1) olabilir. Veri tipinin tanımlanması, sadece tanımlanan veri tipinin saklanmasını sağlar.
Bir senaryoya bakalım:
Bir oyun oluşturmak istediğinizi varsayalım. Çoğu oyun, oyun tamamlandıktan sonra yüksek puan ve oyuncunun adını gösterdiğinden, oyununuz için bu iki veriyi saklamanız gerekir.
Yüksek puan bir sayıdır (örn. 59) ve oyuncunun adı bir dizedir (örn. Jack). Verileri saklamak için iki değişken veya sabit oluşturabilirsiniz.
Swift'de bu, değişkenleri ve veri türünü şu şekilde bildirerek yapılabilir:
var highScore: Int = 59 var playerName: String = "Jack"
Burada, Int
59 değerini saklayan tipte highScore değişkenini tanımladık . Ve String
Jack değerini depolayan tipte playerName değişkenini .
Ancak, böyle bir şey yaparsanız:
var highScore: Int = "Jack"
'String' türündeki değerin belirtilen 'Int' türüne dönüştürülemeyeceğini belirten bir derleme zamanı hatası alacaksınız .
Bunun nedeni, tamsayı değerini depolamak için yüksek Puan vermiş olmanız ancak içine dize yerleştirmenizdir. Bu hata, highScore'un oyuncunun adını değil yalnızca bir numarayı saklayabilmesini sağlar.
Veri Türünün Boyutu
Bir veri türünün bir diğer önemli kısmı, boyutudur. Bu, belirli bir değişkende veya sabitte saklanabilecek verilerin boyutunu belirtir.
Bir Tipin boyutu bit cinsinden ölçülür ve 2 bite kadar değerleri saklayabilir . Bit'i bilmiyorsanız, 0 veya 1 olan bir değer olarak düşünün.
Dolayısıyla, bir Tür boyutu = 1 bit için, en fazla 2 1 = 2, iki değer saklayabilir : 0 veya 1. Dolayısıyla, bir harf programı için 1 bitlik bir sistem, 0'ı a / 0 ve 1'i b / olarak yorumlayabilir. 1.0.
0 -> a veya 0 1 -> b veya 1
Benzer şekilde, iki bitlik bir sistem en fazla 2 2 = 4 değer saklayabilir : (00,01,10,11) ve her kombinasyon şu şekilde temsil edilebilir:
00 -> a veya 0 01 -> b veya 1 11 -> c veya 2 10 -> d veya 3
Bir bit sistemi için, içinde maksimum 2 n değer saklayabilir .
Swift Veri Türleri
Swift'de kullanılan en yaygın veri türleri aşağıda listelenmiştir:
Bool
- Bool türünün Değişken / Sabit olarak bildirilmesi,
true
veya yalnızca iki değeri depolayabilirfalse
. - Varsayılan Değer : yanlış
- İfade ile çalışırken sıklıkla kullanılır
if-else
. Swift eğer başka bir makale bu konuda ayrıntılı olarak ele alıyor.
Örnek 1: Boolean veri türü
let result:Bool = true print(result)
Programı çalıştırdığınızda, çıktı:
doğru
Tamsayı
- Tamsayı türünde Değişken / Sabit, sıfır dahil olmak üzere hem pozitif hem de negatif tam sayıları kesirli bileşen olmadan depolayabilir.
- Varsayılan Değer : 0
- Boyut : 32/64 bit, platform türüne bağlıdır.
- Aralık : -2.147.483.648 - 2.147.483.647 (32 bit platform)
-9223372036854775808 - 9223372036854775807 (64 bit platform - Tamsayı type.eg birçok varyasyonu vardır
UInt
,Int8
,Int16
vb kullandığınız en yaygın olanı taşımaktadırInt
. - Eğer bir değişken / sabit tutabilir tamsayı büyüklüğü / türünü belirtmek için bir gereksinim varsa, daha spesifik olarak kullanarak saklayabilir
UInt
,Int8
,Int16
vb aşağıda keşfetmeye gidiyoruz hangi.
Örnek 2: Tamsayı veri türü
var highScore:Int = 100 print(highScore) highScore = -100 print(highScore)
Programı çalıştırdığınızda, çıktı:
100 -100
Yukarıdaki örnekte highScore türünde bir değişken tanımladık Int
. İlk olarak, 100 değerini print(highScore)
atadık, böylece ekranda 100 çıktılar.
Daha sonra biz atama operatörünü kullanarak -100 değer değiştirdi highScore = -100
, bu yüzden print(highScore)
çıkışlarını -100 ekranında.
Swift'deki bazı tür çeşitlerini inceleyelim Int
.
Int8
- Hem pozitif hem de negatif küçük sayıları depolayabilen Tamsayı türü varyantı.
- Varsayılan Değer : 0
- Boyut : 8 bit
- Aralık : -128 ila 127
Bir Int8
tamsayı, içinde toplam 2 8 = (256) değer saklayabilir . yani 0'dan 255'e kadar sayıları saklayabilir değil mi?
Evet haklısın. Ancak Int8
hem pozitif hem de negatif sayıları içerdiğinden, 256 değer veya sayıya kadar olan 0 dahil olmak üzere -128'den 127'ye kadar olan sayıları saklayabiliriz.
var highScore:Int8 = -128//ok highScore = 127 //ok highScore = 128 // error here highScore = -129 //error here
Ayrıca bir tür kullanarak saklayabilir yüksek ve en düşük değeri öğrenebilirsiniz .min
ve .max
Swift fonksiyonları yerleşik.
Örnek 3: Maks ve Min Int8 veri türü
print(Int8.min) print(Int8.max)
Programı çalıştırdığınızda, çıktı:
-128 127
UInt
- Yalnızca işaretsiz sayıları (pozitif veya sıfır) depolayabilen UInt (Unsigned Integer) adlı Tamsayı türünün varyantı.
- Varsayılan Değer : 0
- Boyut : 32/64 bit, platform türüne bağlıdır.
- Aralık : 0 ila 4294967295 (32 bit platform)
0 ila 18446744073709551615 (64 bit platform)
Örnek 4: UInt veri türü
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,