Sobes.tech
Junior

Čo sú anonymné funkcie?

sobes.tech AI

Odpoveď od AI

Anonymná funkcia (alebo lambda výraz) v Dart/Flutter je funkcia bez mena. Môže prijímať argumenty a vracať hodnotu, podobne ako bežné funkcie, ale je definovaná priamo tam, kde sa používa.

Hlavné charakteristiky:

  • Bez mena: Nemajú identifikátor na opakované volanie podľa mena.
  • Definícia na mieste: Vytvárajú sa a používajú sa okamžite tam, kde sú potrebné.
  • Uzávierky: Môžu zachytiť premenné z oblasti, kde boli definované.

Príklady použitia:

  • Ako parametre iných funkcií (napríklad callbacky).
  • Pre krátke jednorazové operácie.
// Príklad použitia anonymnej funkcie ako callbacku pre metódu forEach
List<int> numbers = [1, 2, 3];
numbers.forEach((number) {
  print(number * 2);
});

// Anonymná funkcia priradená premennej
var multiply = (int a, int b) {
  return a * b;
};
print(multiply(5, 3));

Výhody:

  • Kompaktnejší kód pre jednoduché operácie.
  • Umožňujú odovzdanie správania ako argumentu.
  • Často sa používajú v funkcionálnom programovaní.