Sobes.tech
Middle

Kotlin programlama dilinde lambda ifadeleri nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin'deki lambda ifadeleri anonim fonksiyonlardır. Argüman olarak geçirilebilir veya değişkende saklanabilirler.

Ana noktalar:

  • Sözdizimi: {} süslü parantezler. Parametreler -> okundan önce belirtilir, fonksiyon gövdesi sonra gelir. Parametre yoksa ok kullanılmayabilir.
  • Varsayılan it parametre adı: Lambda tek bir parametreye sahipse, açıkça tanımlamaya gerek yoktur, it adıyla erişilebilir.
  • Dönüş değeri: Lambda gövdesindeki son ifade onun dönüş değeridir.
  • Kapanışlar (Closures): Lambdalar, tanımlandıkları kapsamdaki değişkenlere erişebilir ve değiştirebilir.

Örnekler:

// Parametresiz lambda
val hello = { println("Hello, world!") }
hello() // Lambda çağrısı

// Bir parametreli lambda (açık deklarasyon)
val square = { number: Int -> number * number }
println(square(5))

// `it` kullanımıyla lambda
val increment = { it + 1 }
println(increment(10))

// Birden fazla parametreli lambda
val sum = { a: Int, b: Int -> a + b }
println(sum(2, 3))

// Yüksek seviyeli fonksiyonun argümanı olarak lambda
fun operate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
    return operation(a, b)
}
println(operate(4, 5, { x, y -> x * y })) // Lambda geçirme

Anonim fonksiyonlarla karşılaştırma (daha detaylı):

Özellik Lambda ifadesi Anonim fonksiyon
Sözdizimi {} fun (...)
Dönüş değeri Son ifade Açık return kullanımı
İç return Üst fonksiyondan döner (lokal olmayan dönüş) Kendinden döner (lokal dönüş)
it kullanımı Evet (bir parametre için) Hayır

Kotlin'de lambdalar, özellikle yüksek seviyeli fonksiyonlar (map, filter, forEach vb.) ile, özlü ve ifadeli kodlar oluşturmak için yaygın şekilde kullanılır. Derleyici bunların kullanımını optimize eder.