Swift 5.3 Fonksiyonlar Kavramı

Aslında fonksiyon dediğimiz şey bir parametre alan ve aldığı parametreye göre bir bir değer döndüren kod blogudur.Ama bazı programlama dillerinde fonksiyonları methodlar ile birmiş gibi gösterir.Swift dilide bu şekilde düşünmekte.Method dediğimiz şey normal sadece çağrıldan iş gören ayrıca herhangi bir deger döndürmeyen şeylerdir.Şimdi örnek bir fonksiyonuma bakıyorum.

Burada gördümüz gibi boş bir fonksiyon var herhangi değer almıyor ve bir değer döndürmüyor.Void özellikli olan bu fonksiyonum derleyici içersinde çağrılmadan koşturulmaz.

Sadece Değer Döndüren Fonksiyonlar

Değer alıp döndüren fonksiyonlar oldukça basit fonksiyona girecek veri türünü ve return edilecek değeri belirtmem gerek.

Şimdi bir değer döndüren fonksiyona bakalım:

  • -> Int ile Int veri tipinde bir değer döndürmesi gerektiğini belirttim.
  • Return ile bir toplama işlemi yaptım ve bundan çıkan sonuç Int veri tipinden olduğu için bunu return ile fonksiyonuma belirttim.
  • Böylelikle bu fonksiyonu çağırdığımda artık bana bir Int değer vericek.

Örnek 2:

Şimdi bazen tek bir fonksiyonda bir den fazla farklı tür de değer döndürmek isteyebilirim.Swift bu konuya izin veriyor .Şimdi örneğe bakalım.

  • -> (String,Int) ifade ile 2 adet değer döndüreğimi belirttim.

Örnek :3

Birden fazla değerle çalışmak için tek yapmamız yanına bir parametre eklemek.Bu örnekte 2 adet parametre döndürüyor.

Sadece Değer Alan Fonksiyonlar

Bu tip fonksiyonların temel amacı sadece değer alıp ona göre işlem yapmaktır.Bu tip fonksiyonlarda return değeri olmaz.Her ne kadar bize bir durum veya bir sonuç versede bu tip fonksiyonlarda bir return ifadesi geçmediği için geriye değer döndürmeyen fonksiyonlar olarak kabul edilir.

  • myfonksiyon adında bir adet fonksiyon tanımladım () parantez içine local değişken tanımlaması yaptım ki bu demek oluyor bu fonksiyon bir değer alacak demektir.
  • deşişken ismi ve tipini belirleyen 2 adet local değişken tanımladım.
  • Bu örnekte fonksiyonumun görevi aldığı değerleri ekrana basmak oldu.

Yukarı da örnekte gördüğümüz gibi fonksiyonu bir yer de çağırdığımız da bizden 2 adet değer bekliyor.

Örnek 2:

Bu örnekte 2 faklı veri tipi ile değer aldık.

Örnek 3:

Global Bir Parametre Almak

  • Burada mydil isimli bir fonksiyon tanımladık.
  • Global bir değişken olan dil değişkenini fonksiyonu çağırdığımızda set ettik.
  • Mydil fonksiyonu sadece 1 adet parametre alıp daha sonra yapması gereken işleri yapar .Herhangi bir değer döndürmez.

Değer Alan Fonksiyonlarda Default Parametre

Peki ya 2 parametreden bir tanesine değer vermek istemiyorsak ?

İşte bu noktada fonksiyonlarda default parametre kavramı devreye giriyor.Şimdi örneğimize bakalım:

  • mybilgi adında ve sadece parametre alan bir fonksiyon tanımladım.
  • meslek isimli local değişkenime bir adet değer atadım.
  • Şimdi bu fonksiyonumu çağırdığım zaman ne oluyor ona bakalım.
  • Gördüğümüz gibi istersek sadece yaş değişkenini kullanıyorum istersem 2 değişkenime de veri atayabilirim.
  • Sadece yaş değerini girdiğim de gördüğümüz gibi default olarak meslek developer olarak geldi.
  • Şimdi 2 değişkenede değer verelim .
  • Gördüğümüz gibi default olarak belirtilmesine rağmen ben bir değer verdiğim için yazdığım mesleği referans aldı.

Değer Alıp Değer Döndüren Fonksiyonlar

  • (isim: String) şeklinde bir ifade bu fonksiyonun dışarıdan bir String bir ifade alacağını belirttim.
  • -> String ile de dışara döndüreceğim veri tipini yazdım.
  • Return ile de değeri almış oldum.

Örnek:2

  • girişmesaj adında 3 parametre alan ve 1 adet String değer döndüren fonksiyon tanımladım.
  • Arından 3 parametreyi birleştiren bir String tanımladım.
  • Return ile o değeri return ettim.

Fonksiyon Üzerinde (inOut Kavramı)

  • İnput ifade ile fonksiyon içine giren bir parametreyi değiştirip o şekilde güncellemek istersek kullanırız.

Fonksiyonlarda Variadic Parametre Kullanma

Variadic parametreli fonksiyonlar herhangi bir sayıda parametreyi kabul edebilen fonksiyonlardır.

  • mytoplam aında bir fonksiyon tanımladım.
  • Int olarak parametre alıyor ve bu alınan değerin birden fazla olduğu belirtmek için … operatörünü ekliyorum.
  • Böylelikle fonksiyonu çağırdığım zaman içine istediğim kadar değer ekleyebiliyorum.

Fonksiyonlar Tuple Return ( Çoklu İşlemler)

  • myislem adında 2 adet parametre alan ve 2 adet parametre döndüren fonksiyon tanımladık.
  • Alınan 2 adet parametre işlem yapacağım 1. ve 2. sayı için kullandım.
  • Return edilen 2 adet değer ise bana toplama veya çıkarma işleminin sonucunu veriyor .
  • Fonksiyonu çağırdığımda 2 adet parametre istiyor parametreleri set ettim.
  • Atadığım sabit değişkenim üstünden istediğim sonucu return ettim.

Leave a Reply

*