Funkcje anonimowe i domknięcia
Przechwytywanie zmiennych w funkcjach wbudowanych
Funkcje anonimowe i domknięcia to bezpłatna lekcja Dart Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Dart Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Dart Academy zawiera 4 lekcji w sumie.
Funkcje bez nazw
Czasami potrzebują Państwo funkcji tylko raz i nigdy więcej. Funkcja anonimowa nie ma nazwy i jest zapisywana bezpośrednio w miejscu użycia. ✨
Podstawowa forma
Funkcja anonimowa składa się tylko z parametrów i ciała, bez nazwy na początku. Można ją przechować w zmiennej.
var greet = (String n) {
print('Hi ' + n);
};Wywoływanie zapisanej funkcji
Po zapisaniu funkcję wywołuje się za pośrednictwem zmiennej, tak samo jak dowolną funkcję nazwaną, używając nawiasów.
greet('Ada');Przekazywanie funkcji inline
Najczęściej przekazuje się funkcję anonimową bezpośrednio do metody. Tutaj forEach wywołuje ją dla każdego elementu.
[1, 2, 3].forEach((n) {
print(n * 2);
});Anonimowe funkcje strzałkowe
W przypadku ciała z jednym wyrażeniem można połączyć funkcję anonimową ze strzałką, aby zachować zwięzłość.
var doubled = [1, 2, 3].map((n) => n * 2);Czym jest domknięcie?
Domknięcie to funkcja, która pamięta zmienne z miejsca, w którym została utworzona, nawet po zakończeniu zewnętrznego zakresu.
Przechwytywanie zmiennej
Wewnętrzna funkcja poniżej przechwytuje step. Nadal korzysta z tej wartości przy każdym późniejszym wywołaniu zwróconej funkcji.
Function adder(int step) {
return (int x) => x + step;
}Każde domknięcie jest niezależne
Wywołaj fabrykę dwukrotnie, a każde zwrócone domknięcie zachowa osobną przechwyconą wartość. Nie będą na siebie wpływać.
var add5 = adder(5);
var add10 = adder(10);Domknięcia przechowują stan
Przechwycona zmienna może zmieniać się między wywołaniami, dzięki czemu domknięcie pamięta postęp niczym mały licznik.
int count = 0;
var tick = () => ++count;Dlaczego to ważne
Wywołania zwrotne, procedury obsługi zdarzeń i metody list opierają się na domknięciach. Pozwalają połączyć zachowanie z danymi, których ono potrzebuje.
Zachowaj je małe
Domknięcia inline sprawdzają się, gdy są krótkie. Jeśli jedno z nich staje się złożone, nadaj mu prawdziwą nazwę, aby inni mogli je łatwo odczytać.
Szybkie sprawdzenie
Co sprawia, że funkcja jest domknięciem?
Podsumowanie
Poznali Państwo funkcje anonimowe do jednorazowego użycia oraz domknięcia, które przechwytują otaczające zmienne, aby zachować własny stan. 🎯
Często zadawane pytania
Czy lekcja „Funkcje anonimowe i domknięcia” jest bezpłatna?
Tak — pełny tekst „Funkcje anonimowe i domknięcia” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Dart Academy, przejdź na CoddyKit PRO. Kurs Dart Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Funkcje anonimowe i domknięcia”?
Przechwytywanie zmiennych w funkcjach wbudowanych Ćwiczysz Dart Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Dart Academy?
Nie wymagamy żadnego doświadczenia. Dart Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Funkcje anonimowe i domknięcia”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Dart Academy?
Tak. Każda lekcja Dart Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Składnia strzałkowa dla funkcji jednowierszowych
- Funkcje anonimowe i domknięcia
- Typy nullable i znak zapytania
- Operatory uwzględniające null: ?., ?? i !