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

Bu blogdaki popüler yayınlar

Execution failed for task ':flutter_blue:generateDebugProto'. > Could not resolve all files for configuration ':flutter_blue:protobufToolsLocator_protoc'.

Program Karmaşıklığı Nedir ? Nasıl Ölçülür ? McCabe Karmaşıklık Ölçütü Nedir ?

Algoritma Karmaşıklığı Nedir ? Zaman ve Hafıza Karmaşıklığı Nedir ? Nasıl Hesaplanır ?