Подтвердить что ты не робот

Оптимизация звонков в Go

Относительно случайный и, вероятно, тривиальный вопрос. На данный момент язык программирования Go Go оптимизирует хвостовые звонки? Если нет, то он, по крайней мере, оптимизирует хвостовые рекурсивные вызовы функции для себя?

4b9b3361

Ответ 1

Все, что вы можете найти в Интернете, что "Go поддерживает рекурсии с хвостом в некоторых случаях", и это было сказано в списке рассылки:

Он уже существует в 6g/8g для определенных случаев, а в gccgo в более общем плане.

В настоящее время мы не планируем менять язык, чтобы требовать, чтобы компиляторы реализуют оптимизацию хвостового вызова во всех случаях. Если вы должны иметь хвостовой вызов, вы используете цикл или инструкцию goto.

Чтобы получить эти случаи, вам лучше копаться в golang source, который открыт.

Ответ 2

Это не так. Также нет плана в соответствии с основной командой разработчиков в списке рассылки.