Middle
როგორ მუშაობს ლამბდა გამოთქმები Kotlin-ის პროგრამირების ენაში?
sobes.tech AI
პასუხი AI-სგან
კოტლინში ლამბდა გამოხატულებები წარმოადგენს ანონიმურ ფუნქციებს. ისინი შეიძლება გადაეცეს როგორც არგუმენტი ან შეინახოს ცვლადში.
ძირითადი მახასიათებლები:
- სინტაქსი:
{}ფიგურული ბრაკეტები. პარამეტრები მითითებულია სლაკი->-მდე, ფუნქციის სხეული შემდეგ. თუ პარამეტრები არ არის, სლაკი აუცილებელი არაა. - უცნობი სახელი
it: თუ ლამბდას ერთი პარამეტრი აქვს, მას შეიძლება არ გამოაცხადოთ აშკარად, და ის ხელმისაწვდომია სახელითit. - დაბრუნებული მნიშვნელობა: ლამბდას სხეულის ბოლო გამოთვლა არის მისი დაბრუნებული მნიშვნელობა.
- კომპლექსები (Closures): ლამბდა შეუძლია წვდომა და ცვლილება იმ ცვლადების, რომლებიც განსაზღვრულია მისი განსაზღვრის ზონაში.
მაგალითები:
// პარამეტრებით არათანაბარი ლამბდა
val hello = { println("Hello, world!") }
hello() // ლამბდის გამოძახება
// ერთი პარამეტრით ლამბდა (საზოგადოად გამოცხადება)
val square = { number: Int -> number * number }
println(square(5))
// ერთი პარამეტრით ლამბდა (`it`-ის გამოყენებით)
val increment = { it + 1 }
println(increment(10))
// მრავალი პარამეტრით ლამბდა
val sum = { a: Int, b: Int -> a + b }
println(sum(2, 3))
// მაღალი დონის ფუნქციის არგუმენტად ლამბდა
fun operate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
return operation(a, b)
}
println(operate(4, 5, { x, y -> x * y })) // ლამბდის გადაცემა
შედარება ანონიმურ ფუნქციებთან (მეტი დეტალებით):
| მახასიათებელი | ლამბდა-გამოხატვა | ანონიმური ფუნქცია |
|---|---|---|
| სინტაქსი | {} |
fun (...) |
| დაბრუნებული მნიშვნელობა | ბოლო გამოთვლა | აშკარა return |
return შიგნით |
დაბრუნება მშობელ ფუნქციაში (ნოლოკალური return) | დაბრუნება თავად ანონიმურ ფუნქციაში (ლოკალური return) |
it გამოყენება |
დიახ (ერთი პარამეტრისთვის) | არა |
ლამბდები ფართოდ გამოიყენება Kotlin-ში, განსაკუთრებით მაღალი დონის ფუნქციებთან (map, filter, forEach და სხვა), მოკლე და გამოხატული კოდის შესაქმნელად. კომპილატორი ოპტიმიზირებს მათი გამოყენებას.