Sobes.tech
Junior

Czym są funkcje anonimowe?

sobes.tech AI

Odpowiedź od AI

Funkcja anonimowa (lub wyrażenie lambda) w Dart/Flutter to funkcja bez nazwy. Może przyjmować argumenty i zwracać wartość, podobnie jak zwykłe funkcje, ale jest definiowana bezpośrednio tam, gdzie jest używana.

Główne cechy:

  • Brak nazwy: Nie mają identyfikatora do wywoływania po nazwie.
  • Definicja na miejscu: Tworzone i używane są od razu tam, gdzie są potrzebne.
  • Zamknięcia: Mogą przechwytywać zmienne z zakresu, w którym zostały zdefiniowane.

Przykłady użycia:

  • Jako parametry innych funkcji (np. callbacki).
  • Do krótkich operacji jednorazowych.
// Przykład użycia funkcji anonimowej jako callback dla metody forEach
List<int> numbers = [1, 2, 3];
numbers.forEach((number) {
  print(number * 2);
});

// Funkcja anonimowa przypisana do zmiennej
var multiply = (int a, int b) {
  return a * b;
};
print(multiply(5, 3));

Zalety:

  • Bardziej zwięzły kod dla prostych operacji.
  • Pozwalają na przekazywanie zachowań jako argumentów.
  • Często używane w programowaniu funkcyjnym.