再帰関数呼び出しの長いシーケンスから戻るより良い方法はありますか? 私は現在、次のようなマーカー値でパニックに陥っています。
type exitNow int
...
panic(exitnow(0))
一度に複数のレベルを返す。ルート関数では、recover の呼び出しが一般的なエラー処理 (パニックをエラーに変える) を行い、exitNow を特別なケースとして処理します。
これはうまくいきます。もっと良い方法があるかどうか知りたいだけです。
関連する目的で既に bool 戻り値を使用していますが、これに別の戻り値を使用するのは面倒です。(すべての関数へのすべての呼び出しには、if ステートメントが必要です)
それが役立つ場合、これは再帰的な適切なパーサーの実装の一部です。