Fonksiyonlar - 2
Önceki yazımda fonksiyonlara giriş yapmıştık. Şimdi fonksiyonlar ile ilgili diğer konulara değineceğiz.
External Parametreler
Parametrelere
istenilen isimlendirmeyi yapma.
Normalde;
- Parametrenin açıklaması yok
- Parametrenin açıklaması var
func
fonksiyon1(isim:String, yas:Int)
Bu
durumda parametre isimlendirmesi;
func
foksiyon1(adPar isim:String, yasPar yas:Int)
fonksiyon1(adPar:”Atakan”,yasPar:26)
Default Parametreler
Kullanıcı
boş bıraktığı parametrenin bizim belirlediğimiz değeri
döndürmesi.
func
ustAlma(sayi:Float, ust:Float = 2) -> Float
//ust
parametresi boş bırakılırsa 2 değerini
alır.
{return
pow(sayi, ust) //pow üst alma fonksiyonu
}
print(ustAlma(3))
-----------> 9
print(ustAlma(3,ust:3))----->27
inout Parametreler
Bir
fonksiyonun kendisine parametre argümanı olarak gönderilen değeri
değiştirmesi isteniyorsa söz konusu parametrenin inout anahtar
sözcüğü ile tanımlanması gerekir. Bu şekilde tanımlanmış
olan parametrelere çağırma ifadesinde argüman gönderilirken
başlarına “&” sembolü konulmalıdır. Aşağıdaki
Increment() isimli fonksiyon bu mekanizmadan faydalanarak
yazılmıştır.
x
+= 1
}
var
i = 10
print(i)
//10
Increment
(x: &i)
print
(i) // 11
Overload Fonksiyonlar (Aşırı Yükleme)
func
topla(sayi1:Int, sayi2:Int)->Int
{return
sayi1+sayi2}
func
topla(sayi1:Int, sayi2:Int, sayi3:Int)->Int
{return
sayi1+sayi2+sayi3}
func
topla(sayi1:Int, sayi2:Int,sayi3:Int,sayi4:Int)->Int
{return
sayi1+sayi2+sayi3+sayi4}
Not:
Aynı isimde 3 tane fonksiyon oluşturarak ister 2 parametre ister 3,
istersek 4 parametre girerek kullanabiliriz. Fonksiyon yazmaya
başlandığında 3 seçenek bize sunulacaktır.
topla(3,
sayi2:4, sayi3:2) --------> 9
Variadic Fonksiyonlar
Variadic
fonksiyonlar ile parametre sayısını limitsiz hale
getirebilirsiniz.
func
variadicToplam(sayilar:Int...) -> Int
{var
toplam = 0
for
sayi in sayilar{
toplam
+=sayi
}
return
toplam }
print(variadicToplam(3,3,36,12,5))
------------->59
Not:
Virgül konularak istenildiği kadar parametre girilebilir.
Hiç yorum yok:
Yorum Gönder
Yorumunuz için teşekkür ederim.