• Go 语言中的递归和尾调用操作

    曾几何时,我看过一段关于 Go 递归函数的简单例子,作者用了极快的速度简单的陈述了 Go 这门语言中并没有优化递归这一操作,即使是在尾调用(tail calls)非常明显的时间。我当时并不理解什么是尾调用(tail calls),我非常想知道这位作者提到的 Go 语言没有优化递归操作的原因是什么,因为我从来不知道原来递归操作还可以被优化。 有些人不太理解什么是递归操作,其实可以用一种简单的说法来解释,就是函数自己调用自己本身。 那为什么我们会需要写一个函数来调用自己本身呢?举个例子,递归算...