如何解决Dart 是否具有尾部调用优化 (TCO) 功能?
我想在 Dart 中尝试一些函数式编程中的算法和模式,但其中很多都严重依赖递归,如果没有 Tail Call Optimization (TCO),这可能会导致严重的内存泄漏,这在实现时不是必需的一种语言。
Dart 团队或文档中是否有关于此主题的官方声明?通过使用 Dart 的开发工具和分析,我可能会弄清楚这是否当前存在于语言中,但是这样我将永远无法知道 Dart 团队关于该主题的意图,因此 存在的理由 这个问题。
解决方法
Dart 不支持尾调用优化。目前没有添加它的计划。
主要原因是它是一个你需要依赖才能使用的特性,否则你会得到非常低效的代码,可能会溢出堆栈,而且由于 JavaScript 目前不支持尾调用优化,该功能无法高效编译为 JavaScript。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。