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
funckulcsszó (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));