Czy istnieje lepszy sposób na powrót z długich sekwencji rekurencyjnych wywołań funkcji? Obecnie paniki o wartości markera tak:panika dla wielopoziomowych powrotów
type exitNow int
...
panic(exitnow(0))
powrotu wielu poziomach na raz. W funkcji głównej wywołanie funkcji odzyskiwania powoduje ogólną obsługę błędów (zamieniając panikę w błędy) i obsługuje exitNow jako specjalny przypadek.
To działa dobrze Chcę po prostu wiedzieć, czy jest lepszy sposób.
Już używam wartości zwracanej przez bool w powiązanym celu, ale użycie innego może być uciążliwe. (każde wywołanie do każdej funkcji będzie wymagało, jeśli pokaże)
Jeśli to pomoże, jest to częścią implikacji nieodpowiedniego parsera.
Parser reklam - może wiesz, może nie wiesz, a może chcesz sprawdzić [przejdź yacc] (http://golang.org/cmd/yacc/). – zzzz
yacc yick: p Nigdy nie lubiłem takich narzędzi, ich zabawniejsze byłoby ręczne tworzenie parserów ... –