Sobes.tech
Junior

Mi a különbség az anonim függvények és a szokásos függvények között?

sobes.tech MI

Válasz az MI-től

Névtelen függvények olyan függvények, amelyeknek nincs nevük. Gyakran használják egyszeri hívásokhoz vagy callbackként.

Fő különbségek:

  • Név: A normál függvényeknek van nevük, és hívhatók ezen keresztül. A névtelen függvényeknek nincs nevük.
  • Definíció: A normál függvényeket a func kulcsszó (vagy más nyelven megfelelő) és név segítségével definiáljuk, majd paraméterek és törzs követi. A névtelen függvényeket "élesben", gyakran a használat helyén definiáljuk.
  • Átadás: A névtelen függvényeket gyakran argumentumként adjuk át más függvényeknek (pl. map, where, forEach). A normál függvényeket is át lehet adni, de inkább a név szerinti hívás logikájának meghatározására használják.
  • Hatókör: A névtelen függvények hozzáférnek a definíciójuk helyének változóihoz (lezárás "elfogás" hatása). A normál függvények általában saját hatókörrel rendelkeznek.

Példa Dart/Flutter:

Normál függvény:

void greet(String name) {
  print('Szia, $name!');
}

// Normál függvény hívása
greet('Világ');

Névtelen függvény (lambda):

// Névtelen függvény használata lista iterálásakor
List<int> numbers = [1, 2, 3, 4, 5];
numbers.forEach((number) {
  print(number * 2); // Névtelen függvény, szorzást végez
});

// Névtelen függvény változóhoz rendelése
var multiplyByTwo = (int number) => number * 2;
print(multiplyByTwo(5));