Sobes.tech
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 func aç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, forEach metodları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));