Junior
Anonim fonksiyonlar ile normal fonksiyonlar arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
İsimsiz fonksiyonlar, isimleri olmayan fonksiyonlardır. Genellikle tek seferlik çağrılar veya geri çağrılar (callback) olarak kullanılırlar.
Ana farklar:
- İsim: Normal fonksiyonlar bir isme sahiptir ve ona göre çağrılabilirler. İsimsiz fonksiyonların isimleri yoktur.
- Tanım: Normal fonksiyonlar
funcanahtar kelimesi (veya diğer dillerde karşılığı) ve bir isim kullanılarak tanımlanır, ardından parametreler ve gövde gelir. İsimsiz fonksiyonlar "anında" tanımlanır, genellikle kullanıldıkları yerde. - Geçirme: İsimsiz fonksiyonlar genellikle diğer fonksiyonlara argüman olarak geçirilir (örneğin,
map,where,forEachmetodlarında). Normal fonksiyonlar da geçirilebilir, ancak genellikle isimle çağrılan mantığı tanımlamak için kullanılırlar. - Kapsam: İsimsiz fonksiyonlar, tanımlandıkları kapsamdan değişkenlere erişebilir (kapanış etkisi). Normal fonksiyonlar genellikle kendi kapsamına sahiptir.
Dart/Flutter örneği:
Normal fonksiyon:
void greet(String name) {
print('Merhaba, $name!');
}
// Normal fonksiyon çağrısı
greet('Dünya');
İsimsiz fonksiyon (lambda):
// Liste üzerinde yineleme sırasında kullanılan isimsiz fonksiyon
List<int> numbers = [1, 2, 3, 4, 5];
numbers.forEach((number) {
print(number * 2); // Çarpma işlemi yapan isimsiz fonksiyon
});
// Bir değişkene atanan isimsiz fonksiyon
var multiplyByTwo = (int number) => number * 2;
print(multiplyByTwo(5));