Kotlin’de bazı işlerimizi kolaylaştırabilecek bir takım fonksiyonlar vardır. Bunlar standart functions olarak geçer. Bu yazıda bu fonksiyonları incelemeye çalışacağız.
Öncelikle her fonksiyon için ortak olarak kullanılan 3 kavramdan bahsedelim. Bu fonksiyonlar lambda fonksiyonları oldukları için lambda olarak bunlara receiver
(this
keywordünü kullanır), lambda argumenti olarakargument
(it
keywordünü kullanır) ve dönüş değeri olarakresult
(return
keywordünü kullanır) değerlerini verirler. Bazı fonksiyonlarda hepsi kullanılmaz. Örneğin sadece argument ve dönüş değeri olabilir.
Şimdi sırayla bu fonksiyonları inceleyelim.
let
Null kontrolü yapmak için kullanılır. Standart functions arasında en çok kullanılan fonksiyondur.
someObject
değerinin null olup olmadığını kontrol eden ve sonucu letResult
değerine döndüren bir kod parçacığı yazdık. Burada;
Argument (it): someObject nesnesi burada argument oldu ve let içerisinde bunu it
ile aldık.
Result: let fonkiyonu içinde son satırı değer olarak (“return value”) döndürdük.
apply
Aynı nesne üzerinden tekrar tekrar yazarak çağırım yapmanın önüne geçmek ve kod okunabilirliğini arttırmak için kullanılır.
Receiver (this): Kullanılan class için geçerli değerleri çağırmak için kullanılır.
with
apply ile benzer şekilde çalışır. with fonksiyonu da bir object alır ve onun değerleri içeride çağırabilir. Ancak kullanımı farklıdır ve dönüş değeri verir.
Receiver (this): Verilen objenin değerlerine this keywordü ile ulaşılabilir.
Result: Dönüş değeri verebilir.
run
with fonksiyonu ile aynı mantıkta çalışır let fonksiyonu gibi çağırılır. Hem nesneye değer atamak hem de dönüş değeri vermek için kullanılır.
Receiver (this): Verilen objenin değerlerine this keywordü ile ulaşılabilir.
Result: Dönüş değeri verebilir.
also
Aynı obje ile başka bir ekstra işlem yapmak için kullanılır. Zaten “also” türkçesi “ayrıca” dır. Yani verdiğim nesne ile ayrıca şunu da yap anlamı verir.
Argument (it): Verdiğimiz objeyi içerde argument olarak kullanabiliriz.
Result: Dönüş değeri olarak verilen objenin kendisini döndürür.