2.Gün - Swift ile Boolean ve String Interpolation
Table of Contents
Bugünkü derste mantıksal durumların sonucunu saklayan veri tipi olan Boolean’ları ve String ifadelerde kullanabileceğimiz önemli bir özellik olan Interpolation’ı inceleyeceğiz.
Mantıksal Durum Nasıl Saklanır : Boolean #
Boolean türü oldukça basittir. Sadece doğru ve yanlışı saklayabilir.
Boolean veri aşağıdaki gibi oluşturulabilir. true
ve false
dışında başka alabileceği bir değer yoktur.
let goodDogs = true
let gameOver = false
Aslında 1.günde çalıştığımız konularda bu veri türünü gördük.
let filename = "paris.jpg"
print(filename.hasSuffix(".jpg"))
//ÇIKTI : true
let number = 120
print(number.isMultiple(of: 3))
//ÇIKTI : true
hasSuffix()
filename değişkeninde bulunan “paris.jpg” stringinin sonunda “.jpg” ifadesinin olup olmadığını kontrol eder ve gerçekten var olduğu için geriye true değerini döndürür.
Aynı şekilde isMultiple(of:)
, number değişkeninde bulunan 120 değerinin 3’ün katı olup olmadığını kontrol eder ve geriye true değerini döner.
Boolean ifadeler aritmetik operasyonalara sokulamaz, bu sebeple aritmetik operatörler kullanılamaz. Fakat Boolean ifadeler ile “DEĞİL” anlamına gelen !
operatörü kullanılmaktadır. Bu operatör değeri tam tersine çevirir.
var isAuthenticated = false
isAuthenticated = !isAuthenticated
print(isAuthenticated)
//ÇIKTI : true
isAuthenticated = !isAuthenticated
print(isAuthenticated)
//ÇIKTI : false
Bool ifadeler için kullanılabilen toggle()
fonksiyonu bulunmaktadır. Bu fonksiyon sayesinde bool ifadenin değeri tam tersine çevrilir.
toggle()
metodu !
operatörü ile aynı işlemi yapar, uzun ver karmaşık kodlarda okuma kolaylığı sağlar yalnızca.
var gameOver = false
print(gameOver)
//ÇIKTI : false
gameOver.toggle()
print(gameOver)
//ÇIKTI : true
String Interpolation #
String ifadelerin birleştirilebilmesi için 2 yöntem bulunmaktadır;
+
operatörünün kullanımı- String Interpolation
+ Operatörünün Kullanımı #
+
operatörünün String ile kullanımı oldukça basittir. İki (veya daha fazla) string ifadeyi birleştirebilirsiniz.
let firstPart = "Hello, "
let secondPart = "world!"
let greeting = firstPart + secondPart
print(greeting)
//ÇIKTI : Hello, world!
Bu birleştirme işlemini ardı ardına yapmaya devam edebiliriz.
let people = "Haters"
let action = "hate"
let lyric = people + " gonna " + action
print(lyric)
//ÇIKTI : Haters gonna hate
Hatta olayları biraz daha abartıp şu şekilde de bir şey yapabiliriz.
let luggageCode = "1" + "2" + "3" + "4" + "5"
Yukarıdaki örneği incelediğinizde elimizde son kalacak string ifade 12345
olacak. Fakat burada karşımıza bir sorun çıkıyor. Swift bu birleştirme işlemini birden yapmayacak. İzleyeceği yol şu şekilde olacak:
“12”+”3”+”4”+”5”
“123”+”4”+”5”
“1234”+”5”
“12345”
Yani birleştirme işlemi adım adım yapılacak. +
operatörü ile String birleştirme işlemi yalnızca az adımlı birleştirme işlemleri için uygundur. Peki ya daha fazlasına ihtiyacımız varsa? O durumda imdadımıza String Interpolation yetişecek.
String Interpolation #
Interpolation işleminin yapımı oldukça basittir. Ters eğik çizgi ve 2 adet parantez ile bu işi çözebiliriz. Ayrıca Interpolation sadece String değil, Int
,Double
,Bool
ve daha bir çok şeyi String ile birleştirebilir.
let name = "Taylor"
let age = 26
let message = "Hello, my name is \(name) and I'm \(age) years old."
print(message)
//ÇIKTI : Hello, my name is Taylor and I'm 26 years old.
Yukarıdaki kodda görüldüğü gibi Int
bir değeri (age), doğrudan String bir ifadenin içine ekleyebildik.
+
operatöründen fark işte bu noktada orataya çıkıyor. Örneğin aşağıdaki gibi bir kod yazsaydık bu kod çalışmayacaktı. Çünkü +
operatörü ile yalnızca String ifadeler birleştirilebilir.
// DİKKAT BU KOD HATALIDIR. XCODE HATA VERİR.
let number = 11
let missionMessage = "Apollo " + number + " landed on the moon."
Ama yukarıdaki örneği illa ki +
operatörü ile birleştirmek istiyorsak aşağıdaki gibi bir yol izleyebiliriz.
let missionMessage = "Apollo " + String(number) + " landed on the moon."
Fakat bunun daha hızlı bir yolu var :
let missionMessage = "Apollo \(number) landed on the moon."
Bu yazıyı İngilizce olarak da okuyabilirsiniz.
You can also read this article in English.