尾部调用优化(TCO)是一种编程语言功能,编译器或解释器优化发生在“尾部位置”(即函数中的最后一个操作)的递归函数调用。此优化有助于节省堆栈空间并防止递归调用中潜在的堆栈溢出错误。 什么是尾调用? 当一个函数在返回值之前调用另一个函数作为其最终操作时,就会发生尾调用。在这种情况下,不需要保留当前函数的堆栈帧,因为被调用函数返回后它没有更多工作要做。