web-dev-qa-db-ja.com

Goでの末尾呼び出しの最適化

現在のところ、Goプログラミング言語は末尾呼び出しを最適化するですか?そうでない場合は、少なくとも関数の末尾再帰呼び出しをそれ自体に最適化しますか?

32
dxh

インターネット上で見つけることができるすべてのもの、「Goは場合によっては調整可能な再帰をサポートしている」、そしてそれは メーリングリスト で語られました:

特定のケースではすでに6g/8gであり、gccgoではもう少し一般的です。

現在、コンパイラがすべての場合に末尾呼び出しの最適化を実装することを要求するように言語を変更する予定はありません。末尾呼び出しが必要な場合は、ループまたはgotoステートメントを使用します。

これらのケースを取得するには、開いている golang source を掘り下げたほうがよいでしょう。

15

そうではありません。メーリングリストのコア開発チームによると、計画もありません。

3
Jeremy Wall