Swift Fonksiyonlar
Merhabalar, bu yazıda swift'te fonksiyonları nasıl kullanacağımızı öğreneceğiz.
1.Swift'te Fonksiyon Tanımlama
Swift üzerinde fonksiyon tanımlarken 'func' ifadesi ile başlamamız gerekiyor. Ardından fonksiyona vereceğimiz isim gelmelidir. İsimden sonra açtığımız parantezin içerisine parametreleri, parantezi kapattıktan sonra da geri dönüş tipini belirmemiz gerekmektedir. Örneğin;
func sayHello(person: String)-> String{ return "Hoş geldin " + person } print(sayHello(person: "Selim"))
Bu kod parçasında ilk olarak 'func' anahtar kelimesi ile başlayarak bunun bir fonksiyon tanımlaması olduğunu belirtiyoruz. Ardından gelen 'sayHello' değeri bizim fonksiyon ismimiz olacaktır. Parantezin içerisinde 'person' adlı bir parametre alacağımızı ve bunun türünün String olması gerektiğini belirtiyoruz. Parantezi kapattıktan sonra -> (arrow) işaretinden sonra ise geri dönüş yapacaksak bunun türünü belirmemiz gerekiyor. Ardından süslü parantezlerimi açıp içerisine kodumuzu yazıyoruz. Eğer geriye de dönüş olacaksa fonksiyonun return ile bitmesi gerektiğini unutmuyoruz.
1- Func ile başla - func
2- İsimlendir - func sayHello
3- Parametre alacaksa parametre ver, türünü belirt - func sayHello(person: String)
4- Geri dönüş olacaksa parantezi kapatıp türünü belirt - func sayHello(person: String) -> String
2.Swift'te void(geriye dönüşü olmayan) Fonksiyon Tanımlama
Her fonksiyon geriye bir değer döndürmek zorunda değil. İşini yapıp bitirebilir. Bu tarz geriye bir dönüşü olmayan fonksiyonlar diğer dillerde genellikle 'void' anahtar kelimesi ile özdeşleşmiştir. Swift'te ise ayrıca bir belirtme yapmaya gerek yok. Yukarıda da yazdığı gibi eğer fonksiyonun bir geri dönüşü olmasını istiyorsak parametreleri verdikten sonra tür belirtmemiz gerekiyor. Oraya herhangi bir şey yazmamamız durumunda fonksiyon geriye bir değer döndüremez. Örneğin ;
func printFunc(person: String){ print("\(person) in void function") } printFunc(person: "String")
Buradaki fonksiyonumuz person isminde String bir parametre alıyor. Fakat geriye herhangi bir dönüş olmadan içerisinde sadece print fonksiyonunu kullanıyor. İçerde return anahtar kelimesini kullanıp bir değer geriye döndürmek istersek compiler bize hata verecektir.
3.Swift'te Parametre Almayan Fonksiyonlar
Fonksiyonlar elbette parametre almak zorunda değil. Parametre ihtiyacı olmadan bir seri işlemi gerçekleştirmek istediğimizde parametre vermeden de fonksiyon tanımlayabiliriz.
func sayHelloAnonymous(){ print("Merhaba kim olduğunu bilmediğim kişi") } sayHelloAnonymous()
4.Swift'te Birden Fazla Değer Döndürmek
Swift'de yazdığımız fonksiyonlarda eğer birden fazla değer döndürmek istiyorsak 'tuple' kullanabiliriz. Tuple farklı türde değerleri tutmamıza olanak sağlar. Fonksiyonlarla beraber kullanırken
func multiReturn(person: String) -> (name:String,nameLength: Int){ return (person,person.count) } print(multiReturn(person: "Ali")) // (name: "Ali", nameLength: 3)
5.Swift'te Parametre Etiketlendirme
Swift'te parametrelerin ismi ve etiketleri vardır. Parametre atanırken önce etiket ardına ise ismi gelir Örneğin ;
func labeledParamFunc(person: String, from city: String) -> String { return "İsim: \(person)! Şehir: \(city)." } print(labeledParamFunc(person: "Selim", from: "Istanbul"))
Bu örnekte city parametresinin önünde bir de from etiketi vardır. Fonksiyonun içinde 'city' ile buna ulaşırken fonksiyonu çağırırken etiketini kullanırız.
6.Swift'te Parametreleri Fonksiyon Çağırırken Belirtmemek
Başlığı açıklamak gerekirse şu ana kadar yukarıda görüldüğü üzere fonksiyon(parametre:deger) şeklinde bir kullanım sağlıyorduk. Fakat bunu daha pratik şekilde fonksiyon(deger) şeklinde çağırmak istersek ne yapmamız gerekiyor? Etiketleme burada bizim geri geldiğimiz bir konu oluyor. Eğer fonksiyonun parametrelerini verirken etiket yerine '_' koyarsak üstteki kullanımı sağlayabiliriz.
Örneğin;
func functionWithoutLabel(_ name:String){ print("Etiketim yok ama adım \(name)") } functionWithoutLabel("Ayşe") //Etiketim yok ama adım Ayşe
7.Swift'te Default Parametre Değeri
Parametrelerimizin default bir değeri olmasını istiyorsak fonksiyonu tanımlarken parametreye değeri atıyoruz. Örneğin;
func defaultParameterFunc(parameter: Int=1){ print(parameter) } defaultParameterFunc(parameter: 10) //10 defaultParameterFunc() //1
Kaynakca:
https://www.swift.org/documentation/
Yorumlar
Yorum Gönder