Sobes.tech
Middle

Kotlin proqramlaşdırma dilində lambda ifadələri necə işləyir?

sobes.tech Süni İntellekt

AI-dan cavab

Kotlin-də lambda ifadələri anonim funksiyaları təmsil edir. Onlar arqument kimi ötürülə və ya dəyişəndə saxlanıla bilər.

Əsas məqamlar:

  • Sintaksis: Möhtəşəm {}. Parametrlər -> oxundan əvvəl göstərilir, funksiyanın gövdəsi sonra. Əgər parametr yoxdursa, ox seçimi ola bilər.
  • İmplicit it parametri adı: Lambda tək parametrə malikdirsə, onu açıq elan etməyə ehtiyac yoxdur, it adı ilə mövcuddur.
  • Geri dönüş dəyəri: Lambda gövdəsindəki son ifadə onun geri dönüş dəyəridir.
  • Bağlamalar (Closures): Lambdalar təyin olunduğu sahədən dəyişənlərə daxil ola və onları dəyişə bilər.

Nümunələr:

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

// Bir parametrli lambda (açıq elan)
val square = { number: Int -> number * number }
println(square(5))

// `it` istifadə edən lambda
val increment = { it + 1 }
println(increment(10))

// Bir neçə parametrli lambda
val sum = { a: Int, b: Int -> a + b }
println(sum(2, 3))

// Yüksək səviyyəli funksiyanın arqumenti kimi 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 ötürülməsi

Anonim funksiyalarla müqayisə (daha ətraflı):

Xüsusiyyət Lambda ifadəsi Anonim funksiya
Sintaksis {} fun (...)
Geri dönüş dəyəri Son ifadə Açıq return istifadə edilə bilər
return içində Valideyn funksiyadan geri dönər (retour non-lokal) Anonim funksiyadan geri dönər (lokal return)
it istifadə edilər Bəli (bir parametr üçün) Xeyr

Lambda ifadələri Kotlin-də geniş istifadə olunur, xüsusən də map, filter, forEach və s. kimi yüksək səviyyəli funksiyalarla, qısa və ifadəli kod yaratmaq üçün. Kompilyator onların istifadəsini optimallaşdırır.