Sobes.tech
Junior

Kas yra anoniminės funkcijos?

sobes.tech AI

Atsakymas iš AI

Dart/Flutter kalboje anoniminė funkcija (arba lambda išraiška) yra funkcija be vardo. Ji gali priimti argumentus ir grąžinti reikšmę, panašiai kaip įprastos funkcijos, tačiau ji apibrėžiama tiesiog ten, kur naudojama.

Pagrindinės savybės:

  • Be vardo: Neturi identifikatoriaus, kad galėtų būti iškviečiama pagal vardą.
  • Vietoje apibrėžta: Sukuriama ir naudojama iš karto ten, kur jos reikia.
  • Užrakinimai: Gali įsikibti į kintamuosius iš apimties, kurioje buvo apibrėžta.

Naudojimo pavyzdžiai:

  • Kaip kitų funkcijų parametrai (pavyzdžiui, atgaliniai kvietimai).
  • Trumpoms ir vienkartinėms operacijoms.
// Pavyzdys, kaip naudoti anonimę funkciją kaip callback for forEach metodą
List<int> numbers = [1, 2, 3];
numbers.forEach((number) {
  print(number * 2);
});

// Anoniminė funkcija priskirta kintamajam
var multiply = (int a, int b) {
  return a * b;
};
print(multiply(5, 3));

Privalumai:

  • Trumpesnis kodas paprastoms operacijoms.
  • Leidžia perduoti elgseną kaip argumentą.
  • Dažnai naudojama funkcionalioje programavime.