Junior
Anonim funksiyalar və adi funksiyalar arasında fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Anonim funksiyalar adlandırılmamış funksiyalardır. Onlar tez-tez tək istifadəlik çağırışlar və ya geri çağırışlar (callback) kimi istifadə olunur.
Əsas fərqlər:
- Ad: Normal funksiyalar adı ilə çağırıla bilər. Anonim funksiyaların adı yoxdur.
- Tərif: Normal funksiyalar
funcaçar sözü (və ya digər dillərdə ekvivalent) və ad ilə təyin olunur, sonra parametrlər və bədən gəlir. Anonim funksiyalar "canlı" təyin olunur, çox vaxt istifadə olunduğu yerdə. - Keçirmə: Anonim funksiyalar çox vaxt digər funksiyalara arqument kimi verilir (məsələn,
map,where,forEachmetodlarında). Normal funksiyalar da keçə bilər, lakin onlar daha çox ad ilə çağırılan məntiqi təyin etmək üçün istifadə olunur. - Əhatə dairəsi: Anonim funksiyalar təyin olunduğu əhatə dairəsindən dəyişənlərə giriş edə bilər (bağlama effektinin "tutulması"). Normal funksiyalar adətən öz əhatə dairəsinə malikdir.
Dart/Flutter nümunəsi:
Normal funksiya:
void greet(String name) {
print('Salam, $name!');
}
// Normal funksiyanın çağırılması
greet('Dünya');
Anonim funksiya (lambda):
// Siyahı üzərində iterasiya zamanı anonim funksiyanın istifadəsi
List<int> numbers = [1, 2, 3, 4, 5];
numbers.forEach((number) {
print(number * 2); // Çoxaltma edən anonim funksiya
});
// Dəyişənə təyin olunan anonim funksiya
var multiplyByTwo = (int number) => number * 2;
print(multiplyByTwo(5));