Sobes.tech
Junior

Какви са анонимните функции?

sobes.tech AI

Отговор от AI

Анонимна функция (или лямбда израз) в Dart/Flutter е функция без име. Тя може да приема аргументи и да връща стойност, подобно на обикновените функции, но се дефинира директно там, където се използва.

Основни характеристики:

  • Без име: Нямат идентификатор за повторно извикване по име.
  • Дефиниция на място: Създават се и се използват веднага там, където са необходими.
  • Затваряния: Могат да улавят променливи от обхвата, в който са дефинирани.

Примери за използване:

  • Като параметри на други функции (например, обратни повиквания).
  • За кратки еднократни операции.
// Пример за използване на анонимна функция като обратен повиквател за метода forEach
List<int> numbers = [1, 2, 3];
numbers.forEach((number) {
  print(number * 2);
});

// Анонимна функция, присвоена на променлива
var multiply = (int a, int b) {
  return a * b;
};
print(multiply(5, 3));

Предимства:

  • По-кратък код за прости операции.
  • Позволяват предаване на поведение като аргумент.
  • Често се използват във функционалното програмиране.