VnexTR: Bilişim Forumu

Tam Versiyon: Swift Fonksiyonları Tanımlama ve Çağırma
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Fonksiyon

Fonksiyonlar, belirli bir işlemi yapmak için yazılmış ve ihtiyaç duyulduğunda çağrılarak tekrar tekrar kullanılabilen kod bloklarına verilen isimdir. Nesne yönelimli programla mantığında çok önemli bir yeri olan fonksiyonlar, bizi aynı kodu tekrar tekrar yazmaktan ve zaman maliyetinden kurtarır. Bunun yanında, fonksiyonda bir yeri değiştirmek istediğimiz zaman, gidip kod içerisinde tek tek tüm satırları değiştirmek yerine sadece fonksiyonu değiştirmemiz yeterli olacaktır.

Her fonksiyonda belirli inputlar ve outputlar olabilir. Bu inputlar değişken olarak adlandırılır ve fonksiyonun yapacağı işleme göre değişkenlik gösterirler, outpularda aynı şekilde değişkenlik gösterebilir. Bir fonksiyonda illa bir input yada output olacak diye bir zorunluluk yoktur. Fonksiyon içerisinde output üretmeyen bir kod bloğunu da çalıştırabilir.

Fonksiyonların Kullanımı 

Fonksiyonları kullanabilmek için öncelikle tanımlamamız ve ardından onları çağırmamız gerekmektedir.
Fonksiyonları tanımlama, fonksiyon bloğunu sınıfımıza eklemek anlamına gelmektedir. 
 
Kod:
func sayHello(personName: String) -> String {
    let greeting = "Hello, " + personName + "!"
    return greeting
}

Üstteki kod bloğunda bir fonksiyon tanımı görmektesiniz. Bu kodu yazdıktan sonra sizden String tipinde bir  personName değişkeni alan ve verdiğiniz ismi selamlayan bu fonksiyonu kullanabilirsiniz. Ancak, bu fonksiyonu çağırmazsanız hiç bir zaman çalışmayacaktır.

Fonksiyonların içerisindeki kodların çalışması için, fonksiyonları çağırmanız gerekmektedir.

Fonksiyonları çağırma ise, fonksiyonun ismini ve varsa parametrelerini(input) kullanacağımız yerde belirtmemizdir. Örneğin ben sayHello metodunu kendim için cağıracağım.
Kod:
.
.
.
.
println(sayHello("Dragons War"))
.
.
.
.
//fonksiyonun çağrıldığı satır çalıştırıldığı zaman
//ekrana "Hello, Dragons War!" yazacaktır.

Fonksiyonların avantajını anlamak için üsteki örneği inceleyelim. Bu örnekte ismini yazan kişiyi selamlayan bir mesaj yayınlıyoruz. Peki ya fonksiyon kullanmasaydık ?
 
Kod:
println(sayHello("Ömer"))
println(sayHello("Ali"))
println(sayHello("Emin"))
println(sayHello("Hakan"))

//Hello, Ömer!
//Hello, Ali!
//Hello, Emin!
//Hello, Hakan!

Üstteki kod bloğunda 4 kişiyi selamladık, bir de bunu fonksiyon kullanmadan yapalım.
 
Kod:
let greeting = "Hello, Ömer!"
println(greeting)

let greeting = "Hello, Ali!"
println(greeting)

let greeting = "Hello, Emin!"
println(greeting)

let greeting = "Hello, Hakan!"
println(greeting)

//Hello, Ömer!
//Hello, Ali!
//Hello, Emin!
//Hello, Hakan!

Fonksiyon kullanarak 4 satırda yaptığımız işlemi, fonksiyon kullanmadan 8 satırda yaptık. Büyük projelerde bu uçurum binlerde satıra çıkmaktadır.
Fonksiyonda “Hello” yazan yeri “Hi” yapmak istersek 1 satır kod, fonksiyon kullanmadan “Hello” yazan yeri “Hi” yapmak istersek 4 satır kod değiştireceğiz.
Uzun olmuş ama okumaya deydi Gülümse
En kısa halde bu kadar oluyor.Yoksa konuyu buraya sığdıramam Gülümse
Teşekkürler dostum yararlı Gülümse