Bugünkü konumuz Swift ile veri türleri (data types) ve onların kullanım şekilleri olacak. Bilindiği üzere diller genelde kesin tiplendirme (strong typing) ve zayıf tiplendirme (weak typing) olarak ayrılırlar ve kendince her ikisinin de artı ve eksileri vardır. Swift ile aynı anda hem kesin hem de zayıf tiplendirmeye sahip oluyoruz ve dikkatli kullanırsak her iki tipin de artılarına sahip olabiliyoruz.
Swift ile değişken yaratırken verinin türünü belirtmek zorunda değiliz. Bir değişken veya sabit yaratmak için yapmamız gerekenlere bakalım:
var sayi = 3 //Değişken
let kelime = "Merhaba" //Sabit
Görüldüğü üzere ilk değişkenimizi var
ikincisini de let
ile yaratmış olduk ve değişkenlik koşullarını belirlemiş olduk.
Yukarıda görüldüğü üzere, Swift ile zayıf tiplendirme yapabiliyoruz, ancak bazı durumlarda da kesin tiplendirme yapmak durumunda olabiliriz. İşte böyle bir durumda değişkenin türünü tanımlayabiliriz. Doğal olarak farklı türden bir işlem yapmaya kalktığımızda da bu değişkenimiz bize hata verecek.
var kesir: Double = 3.2
let cumle: String = "Merhaba dünya"
//Değer atamaları
kesir = 4.75 //Doğru atama
kesir = "Selam dünya" //Hatalı atama
cumle = "Güle güle" //Hatalı atama, sabit bir değer değiştirilemez
Tabi tanımlanan tipleri değiştirmek ve gerekli durumlara uyarlamak da mümkün. Örneğin ekrana bir sayı basmak veya bir cümlenin içeriğine bir farklı bir tipte değişken yerleştirmek mümkün. Aşağıdaki örnekte hem ulamayı hem de bir sayıyı yazıya dönüştürmenin yolunu göreceğiz:
let tanim = "Uzun kenarın boyu "
let uzunluk = 23
let aciklama = tanim + String(uzunluk)
Sıradaki örnekle farklı bir yöntemin kullanımını göreceğiz:
let elma = 5
let portakal = 3
let ilkcumle = "Elimde \(elma) tane elma var"
let ikincicumle = "Elimde \(elma + portakal) tane meyve var"
İşte Swift’in hem kafa karıştıran hem de yazılımcının eline büyük bir güç verdiği değişken tipine geldik. Az önce değişkenlerin türünü nasıl tanımladığımızı gördük. Bu sefer yine benzer bir iş yapacağız, fakat değişkenin veri türünü sabitlemeyeceğiz. Bu sayede değişkenin tipine uygun bir değer girebileceğiz veya değer yoksa ona nil
değerini kontrol amaçlı verebileceğiz
var opsiyonString: String? = "Benim adım "
opsiyonString = nil
Bir sonraki derste dizilimlere ve döngülere bakacağız. O zamana kadar siz de veri türleriyle oynayıp başka neler yapabileceğinizi keşfedebilirsiniz.