Tail recursion — рекурсия, где рекурсивный вызов — последняя операция в функции. Компилятор может оптимизировать его в цикл (tail call optimization), убрав overhead стековых фреймов. Проблема: Go НЕ делает TCO. Каждый рекурсивный вызов в Go создаёт новый фрейм на стеке. Поэтому для глубокой рекурсии в Go лучше переписывать на итеративный вариант. Языки с TCO (Haskell, Scheme, некоторые реализации Scala) могут делать хвостовую рекурсию без роста стека.
Что такое tail recursion?
Middle
413 просмотровAFK Offer AI
Задача: напишите функцию для реверса строки