W Javie mogę zrobić coś takiego
derp(new Runnable { public void run () { /* run this sometime later */ } })
i „uruchom” kod w metodzie później. Trudno sobie z tym poradzić (anonimowa klasa wewnętrzna), ale można to zrobić.
Czy Go ma coś, co może ułatwić przekazywanie funkcji / wywołania zwrotnego jako parametru?
containingObject::instanceMethodName
): Docs.oracle.com/javase/tutorial/java/javaOO/ ...Odpowiedzi:
Tak, rozważ kilka z tych przykładów:
Odtwórz: http://play.golang.org/p/XNMtrDUDS0
Wycieczka: https://tour.golang.org/moretypes/25 (Zamknięcia funkcji)
źródło
Funkcję można przekazać jako parametr do funkcji Go. Oto przykład przekazywania funkcji jako parametru do innej funkcji Go:
Możesz to wypróbować na: https://play.golang.org/p/9mAOUWGp0k
źródło
Oto przykładowa implementacja „Mapy” w Go. Mam nadzieję że to pomoże!!
źródło
Oto prosty przykład:
źródło
Mam nadzieję, że poniższy przykład zapewni większą jasność.
źródło
Tak, Go akceptuje pierwszorzędne funkcje.
Przydatne linki można znaleźć w artykule „Funkcje pierwszej klasy w ruchu ” .
źródło