再帰関数呼び出しの長いシーケンスから復帰する良い方法はありますか? 私は現在、このようなマーカーの値とパニック:一度に複数のレベルを返すためにマルチレベルリターンのためのパニック
type exitNow int
...
panic(exitnow(0))
。ルート関数では、リカバリの呼び出しは一般的なエラー処理(パニックをエラーに変える)を行い、特別なケースとしてexitNowを処理します。
これはうまくいきます。より良い方法があるかどうかを知りたいだけです。
私はすでに関連する目的でboolの戻り値を使用していますが、もう1つ使用すると痛みになります。 (すべての関数を呼び出すたびにif文が必要になります)
これが助けになるのなら、これは助けになるまともなパーサの実装の一部です。
広告パーサー - 多分あなたは知らないかもしれないし、多分あなたは[go yacc](http://golang.org/cmd/yacc/)をチェックしたいと思うかもしれません。 – zzzz
yacc yick:p私はこのようなツールを手にしたことがなく、パーザを手で書くのが楽しいです... –