Swift Programlama Diline Giriş - 1

Swift Programlama Diline Giriş - 1

Merhaba,

Apple son WWDC'de (2-6 Haziran) Objective-C yerine kullanılmaya başlayacak olan Swift programlama dilini tanıttı. Apple'a göre; Objective-C'den çok daha kolay ve pratik olan, yazılımcıyı daha az zorlayan bir dil olan Swift hakkında kısaca bilgi vermek istiyorum.

Swift, syntax olarak Javascript'e ve C türevi dillere çokca benzemekte. Javascript ile benzer olan bir yönü de; satır sonlarında ";" (noktalı virgül) kullanımının zorunlu olmaması ama kullanılabilmesi.

let contentHeight = 40

let contentHeight = 40;

Ayrıca string kullanımında şahsen benim sıkıntı çektiğim konulardan biri olan "@" işareti zorunluluğu artık yok. Çift tırnak içerisinde metni yazarak kullanabiliyoruz.

let name = "Penny";

Swift ile birlikte Apple yazılımcılarının hayatına giren kavramlar arasında belki de en çok kullanılacaklardan birisi "let". Değişken atamalarında readwrite/readonly ayarlamalarını bu komut ile ayarlıyoruz. "let" ile yaptığınız tanımlama değişkeni "readonly" olarak işaretliyor. Eğer readwrite bir değişken tanımlamak istiyorsanız "var" kullanmanız gerekiyor.

let readOnlyContentHeight = 40;

var readWriteContentHeight = 40;

Genel operasyon komutları diğer bir çok dil ile aynı. Ancak Objective-C'de olmayan bazı özellikleri Swift ile getirmişler. Örneğin; string değişkenleri birleştirmek için kullanılan String sınıfının bir metodu yerine artık "+" operatörü ile birleştirme işlemini yapabiliyoruz.

let name = "Sheldon";

let surname = "Coooper";

println(name + " " + surname); // Sheldon Cooper

Şart ve döngü işlemlerinde gruplama parantezi "(",")" kullanmak zorunlu değil. Ancak birden fazla satır işlem yapıyorsanız yine süslü parantezleri "{","}" kullanmanız gerekiyor.

if a == 1 {
    // İşlemler
} else {
   // İşlemler
}

"for" döngüsü için artık aralık tanımlayabiliyoruz. 1 ile 10 arasındaki sayı döngüsü için "1...10" gibi bir yazım kullandığımızda Swift gerekli işlemi yapabiliyor. Ve eğer bu değerler bir diziye bağlı ile aralığı 0 ile dizideki eleman sayısı şeklinde de yapabiliyoruz. 
Yeri gelmişken string işlemlerinde Interpolation (araya ekleme) işlemi de aşağıdaki şekilde yapıabiliyor. Ters slash ve parantez içinde değişkeni yazdığınızda string içerisinde kullanabiliyorsunuz.

for index in 1...10 {
   println("Number: \(index)"); // Interpolation
}

let names = ["Anna", "Alex", "Brian", "Jack"];
let count = names.count;
for i in 0..count {
    println("\(names[i])");
}

Genel olarak obje tanımlamaları da kısmen modifiye edilmiş. Objective-C'de objenin init fonksiyonunu kullanarak yaptığımız tanımlama aşağıdaki şekilde düzenlenmiş:

var degisken:Sınıf;

var shoppingList: String[] = ["Eggs", "Milk"];

Bir başka yeni şey de fonksiyon tanımlamalarında ve tip belirtirken karşımıza çıkıyor. Objective-C de fonksiyonun başına yazdığımız dönüş tipi belirteci aşağıdaki şekilde değiştirilmiş. Ve artık fonksiyon tanımlamak için "func" komutunu kullanıyoruz. Tabii bir de fonksiyon argumanlarına varsayılan değer atayabiliyorsunuz.

func fonksiyonIsmi(degisken1: Sınıf = "Varsayılan Değer") -> DönüşTipi {
    return donenDeger;
}

func sayHello(personName: String = "Leonard") -> String { // -> String bölümü fonksiyondan hangi tipte veri döndürüleceğini belirtiyor.
    let greeting = "Hello, " + personName + "!";
    return greeting;
}

Fonksiyonlarda tanımladığınız argumanlar varsayılan olarak sabit değişken değerlendirmesi görüyor. Eğer siz fonksiyon argumanlarına fonksiyon içerisinde değer ataması yapacaksanız "var" ön ekini kullanmanız gerekiyor.

func ekle(var string: String, string2:String) -> String { // string değişkeni readwrite olarak tanımlandı. string2 ise constant yani readonly
    string = string + " " % string2;
    return string;
}


Şimdilik bu kadar. Fırsat buldukça diğer özelliklere de değinmeye çalışacağım.

 

Ayrıca Apple tarafından yayınlanan Swift e-kitaplarına da aşağıdaki bağlantılardan erişebilirsiniz.

https://itunes.apple.com/us/book/the-swift-programming-language/id881256329?mt=11

YORUMLAR