ホームページ  >  記事  >  バックエンド開発  >  Golang で Goldmark を使用して ChildNode をアタッチするとスタック オーバーフローが発生する

Golang で Goldmark を使用して ChildNode をアタッチするとスタック オーバーフローが発生する

PHPz
PHPz転載
2024-02-08 20:42:11926ブラウズ

在 golang 中使用 Goldmark 附加 ChildNode 会导致堆栈溢出

質問内容

goでgoldmarkを使っているのですが、初めてなのでこれでいいのかわかりません正しく。ドキュメントを読んでいますが、なぜこれが起こっているのか少し混乱しています。

マークダウン ファイルを解析し、ast.walk を使用して ast をウォークスルーしました。

私の目標は、リスト項目の下にサブリストを挿入することです。

リーリー

ただし、これを実行すると、

が表示されます。 リーリー

これは、新しいノードを追加し、次の反復でそのノードにアクセスすることが原因だと思います。しかし、新しいノードをスキップする方法が完全にはわかりません。


正解


その通りです。スタック オーバーフロー エラーは、新しいノードのアクセスによって発生します。

この問題を解決するには、追加されたノードを記録し、ウォーク関数でスキップします。

リーリー

以上がGolang で Goldmark を使用して ChildNode をアタッチするとスタック オーバーフローが発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。