Swift Diline Genel Bakış – Bölüm 1 – Değişkenler ve Sabitler

Merhabalar, yeni bir yazı dizisiyle beraberiz. Bu yazıları yazmamın ve bu videoları çekmemin sebebi hem Swift’e yeni başlayacak arkadaşlara fikir vermek hem de bu videolarda anlattığım şeyleri daha rahat öğrenmek.

Şimdi videomu da buraya koyayım ve başlayalım. İsteyen videoyu izlesin isteyen de yazıyı okusun. Zaten aynı şeyleri anlatıyorum 🙂

Öğretmek, iki kere öğrenmektir.

Evet bu sözden yola çıktım ve temel olarak bir Swift serisi hazırlamaya karar verdim. Temel olarak derken, bu videolarda sadece temel programlamada olan şeylerden bahsedeceğim. Örnek vermek gerekirse koşullu ifadeler, döngüler, veri tipleri, değişkenler vs.

Şimdi konumuza giriş yapabiliriz. Bu yazıda aşağıda listelediğim konulara değineceğim.

Sırayla başlayabiliriz.

Değişken ve Sabit Oluşturma

Şu ana kadar kodladığım dillerde genel olarak değişkenler kullanılıyor, sabitler de değişkenlere göre daha az kullanılıyordu. Ama Swift’te bu durum böyle değil, sabitleri de en az değişkenleri kullandığınız kadar kullanıyorsunuz. Swift dilinde şöyle bir durum var, eğer bir değer hiç değişmeyecekse bu tarz değerler için sabitler kullanmanızı tavsiye ediyor Swift, değiştirilecek değerler içinse değişken kullanmanız tavsiye ediliyor. Hatta xCode üzerinde yazarken değiştirmeyeceğiniz bir değer için sabit tanımlaması yerine değişken tanımlaması yaparsanız xCode sizi uyarıyor.

Şimdi asıl meseleye gelelim, Swift’te değişkenler ve sabitler nasıl oluşturuluyor ?
Swift’te değişken oluşturmak için var ve sabit oluşturmak için de let anahtar kelimelerini kullanıyoruz. Hemen birer satır bir örnek verelim.

var degisken = "Degisken Degeri"
let sabit = "Sabit Degeri"

Bu arada Swift dilinde gereksiz her satırın sonuna konması gereken noktalı virgüller vs. yok, son derece kolay yazım için birçok şey düşünülmüş ve gerçekten çok rahat yazmanızı sağlıyor. Tıpkı Python dili gibi, bunda da isterseniz noktalı virgül, koşullu ifadelerde parantezler vs. kullanabilirsiniz, kullanmamanız da bir şey ifade etmiyor.

Değişken ve sabit oluşturmayı gösterdiğime göre Şimdi diğer başlığıma geçebilirim.

Explicit ve Implicit Değerler

Implicit kelimesi ima edilen, üstü kapalı anlamına gelir. Explicit kelimesi de açık, belirgin anlamına gelir. Şimdi bir örnek vereyim ve onun üzerinden anlatayım.

var sayi = 3;
var sayi2 = 3.0;

Swift derleyicisi buraya baktığında birinci oluşturduğumuz değişkenin veri tipinin Integer olduğunu anlıyor ama biz kesinlikle onun Integer olduğuna dair bir bilgi vermiyoruz. Sadece değerine 3 vererek onun Integer olacağını ima ediyoruz. İşte bunun gibi veri tipi kesin olarak belirtilmemiş, sadece ima edilen değerlere implicit değerler deniyor. İkinci değişkenimizde de aynı şekilde değişken değerine 3.0 vererek bunun bir Double olduğunu ima ettik ve derleyici bunu Double olarak aldı. Burada illa ki double kullanmamız gerektiğini düşünelim. Bu durumda biz 3.0 yerine 3 verdiğimizde derleyici bizim aklımızı okuyamadığı için onu Integer zannedecek ve bu da programımızın çalışması sırasında patlak vermesine neden olacaktır. işte bu durumlarda da explicit değerlere başvuruyoruz. Yani derleyiciye bizzat biz söylüyoruz verinin tipinin ne olacağını. Hemen nasıl yapacağımızı göstereyim.

Yazım şeklimiz aynen şöyle olacak:

var degisken_adi: Veri_Tipi = deger

Burada gördüğünüz üzere değişken isminden sonra iki nokta koyup değişkenimizin veri tipini yazıyoruz ve daha sonra da eşittir işareti koyup değerini veriyoruz. Şimdi hemen birkaç örnek verelim.

var double_degisken: Double = 3.0
var double_degisken2: Double = 3
var integer_degisken: Int = 5
var string_degisken: String = "String deger"

Explicit değerler aynen bu şekilde tanımlanıyor. Burada dikkat etmeniz gereken bir durum var, gördüğünüz gibi ben ikinci değişkenin veri tipini Double olarak tanımladım ama değerine 3 verdim, bu durumda da derleyicimiz otomatik olarak o 3 değerini 3.0 yapıyor.

Implicit ve explicit değerler aynen bu şekilde. Ben burada sadece değişkenler için örnek verdim ama aynı durum sabitler için de geçerlidir. Bu başlığımız da burda biter, şimdi diğer başlığımıza geçelim.

Konsola İfadeler Yazdırmak

Konsol her daim yazılımcıların en büyük yardımcısı olmuştur. Bu durumunu Swift yazmaya başladığımızda da değişmeyeceğini düşünüyorum, ama bu sadece tahmin, ilerde göreceğiz.

Konsola ifadeler yazdırmak için print fonksiyonunu kullanıyoruz. Kullanımı aynen şu şekilde.

print("Yazdirilacak Ifadeler")
let sabit = "Deneme Sabiti"
print(sabit)

Bu şekilde ekrana ifadeler, değişkenler ve sabitler yazdırabilirsiniz. Aslında bunun için ayrı bir başlık açmaya da gerek yokmuş ama neyse, düzen iyidir.

Değişkenleri Birleştirerek Yazdırmak

Aslında bunu yukarıdaki başlıkla da birleştirebilirdim ama vazgeçtim. Bunu ufak bir örnekle göstereyim çünkü anlatacak bir şey yok.

let version = 9
let os = "IOS"
print("OS: " + os + " Version: " + version)

Yukardaki örneğe baktığımızda bize aynen şu ifadeyi yazdırmasını bekleyebilirsiniz.

OS: IOS Version: 9

Ama maalesef bu beklediğimiz şey olmayacak. Sebebi ne sizce ? Bir kısmınız sebebinin + ile alakalı olduğunu düşünebilirsiniz ama değil. Burada dikkat ederseniz version sabitimiz Integer tipinde bir veri. Dolayısıyla siz de Integer bir veri ile String bir veriyi birleştirmek istediğinizde hata alıyorsunuz. Bu durumda da Type Castinge başvurmanız gerekecek. Yukarıdaki hatamızı type casting ile çözelim.

let version = 9
let os = "IOS"
print("OS: " + os + " Version: " + String(version))

Kodumuzu yukardaki gibi değiştirdiğinizde version sabitinin tipini Stringe çevirecek ve hatamız da engellenmiş olacak.

İpucu: Swift’te bütün veri tipleri büyük harfle başlar. Örnek: Int, String, Bool, Double, Float vs. Type Casting yaparken kullandığınız String, Int gibi fonksiyonlar da büyük harfle başlamalıdır. Aynı şekilde explicit değerler tanımlarken de iki noktadan sonraki veri tiplerini ilk harfi büyük yazmalısınız.

Her ne kadar yukardaki kodumuz çalışmış olsa da yine de sürekli + sembolüyle birleştirmek yazım açısından her zaman iyi olmayabilir. Bu yüzden Swift dilinde bir farklı kullanım daha var. Onu da hemen gösterelim.

let version = 9
let os = "IOS"
print("OS: \(os) Version: \(version)")

Bu kullanımda \() ifadesi String ifademizle değişkenlerimizi birbirine bağlamaya yarıyor. Eğer PHP yazdıysanız daha önce oradaki {} ile aynı görevi görüyor. Arasına yazdığımız değişkeni eğer yanlış anlamadıysam String ifadeye çevirip yazdırıyor. Kendim deneme yaparken oraya Integer bir sabiti yerleştirdim ve hatasız bir şekilde yazdırdı. Velhasıl bu şekilde de konsola bir şeyler yazdırırken birleştirme işlemi yapabilirsiniz. Ayrıca \() içerisinde toplama, çıkartma gibi işlemler de yapabilirsiniz. Tamamen size kalmış ne yapacağınız.

Evet bir yazının daha sonuna gelmiş bulunmaktayız. Hatalarım ve yanlışlarım varsa bunu yorum olarak benimle paylaşabilirsiniz. Bunun yanında yazı ile ilgili her türlü görüşünüze açığım, yorum kısmından her türlü görüşlerinizi bildirebilirsiniz. Ayrıca videoyu paylaştığım Youtube Kanalıma da abone olursanız sevinirim. Herkese iyi çalışmalar.

Swift Mustafa Zahid Efe Yorum Yapılmamış