(编程)尾调用:在一个函数的最后一步调用另一个函数(或自身)。如果语言/编译器支持尾调用优化(TCO),这类调用可复用当前栈帧,减少递归导致的栈增长。(也常见于“tail call optimization”。)
/ˈteɪl kɔːl/
A tail call can make recursion use constant stack space.
尾调用可以让递归使用恒定的栈空间。
In functional languages, compilers often optimize a tail call so a recursive function runs like a loop, improving performance and avoiding stack overflow.
在函数式语言中,编译器常会优化尾调用,使递归函数像循环一样运行,从而提升性能并避免栈溢出。
tail 意为“尾部、末端”,call 意为“调用”。合在一起字面意思是“发生在末尾的调用”,用来描述函数执行流程中“最后位置”的那次调用;该术语在函数式编程与编译器优化语境中广泛使用。