Swift Guard Kullanımı. iOS’te Neden Guard İfadesini Kullanmalıyız?

Murat Menzilci
2 min readSep 28, 2021

--

Bu yazıda Swift dilinde geliştirme yaparken guard ifadesinin kullanımından ve avantajlarından bahsedeceğim.

Guard ifadesi swift dilinin kullanışlı özelliklerinden bir tanesidir. Aynı if kontrol ifadelerinde olduğu gibi bir veya daha fazla koşul karşılanmadığında kodu kapsam dışına almaya yarar. Yani çökme ve yanlış verileri engellemek amacıyla bir ifadenin kontrolünü ve ifadeden erken çıkış imkanı sağlar.

Guard, if yapısına oldukça benzer fakat önemli bir farklılık içerir. İf ifadesi koşul sağlandığında çalışırken, guard koşul sağlanmadığı durumlarda çalışır.

If kullanırken else kullanma zorunluluğu yokken guard kullanımında mutlaka else ifadesi kullanılmalıdır. Koşul sağlanmadığında else ifadesindeki kodlar çalıştırılır.

Guard Yapısı:

guard expression else {
// statements
// control statement: return, break, continue or throw.
}

Guard genellikle fonksiyonlarla birlikte kullanılır. Örnek vermek gerekirse:

func yasKontrolu() {

var yas = 33

guard yas >= 18 else {
print("18 yaşından küçüksünüz.")
return
}

print("18 yaşından büyüksünüz.")

}

yasKontrolu()

Çıktısı:

18 yaşından büyüksünüz.

Yukarıdaki örnekte guard kullanımını görüyorsunuz. yasKontrolu() fonksiyonunda ilk ifadede yaş eğer 18'den küçükse print içerisindeki mesajı gösterip ifadeden çıkış yapılıyor. Yani ilk önce sağlanmayan koşul kontrol ediliyor. Eğer yanlışsa bir sonraki ifadeye geçiliyor.

Aynı kontrolü if ile yapalım.

func yasKontrolu() {

var yas = 33
if yas >= 18 {
print("18 yaşından büyüksünüz")
} else {
print("18 yaşından küçüksünüz")
}

yasKontrolu()

Gördüğünüz gibi burada ilk önce koşulun doğru olmasına bakılıyor. Ve if kontrolü yaparken istesek else kullanmayabilirdik.

Guard ifadeleri, sağlanmayan koşulun ifadenin yanında yazılarak, kodun okunabilirliğini arttırır.

Kaynaklar:

https://www.programiz.com/swift-programming/guard-statement

--

--

Murat Menzilci

📱 I write about how to make money with mobile application development, news about App Store and Google Play Store, working as a freelancer and making money. 💰