问题:
Go 是否有相当于 Node.JS 的“最大调用”堆size”?
答案:
是的,Go 有最大调用堆栈大小,但与 Node.JS 不同,它不是一个固定的限制。在 Go 中,goroutine 根据需要动态增加堆栈大小。这给人一种“无限”调用堆栈的印象,但它仍然受到底层堆栈内存限制的影响。
问题:
最大调用堆栈大小是多少在 Go 中?
答案:
Go 中的最大调用堆栈大小由运行时环境决定。通常为数百 MB 甚至 1 GB。 Go Playground 的限制为 250MB,而在典型的 Linux 机器上约为 1 GB。
问题:
是否使用具有潜在大数的递归代码的来电反模式?
答案:
使用具有大量调用的递归代码可能会导致堆栈耗尽。除非您正在处理真正需要递归的问题,否则不推荐这样做。考虑使用迭代,或探索其他不依赖于深度嵌套的设计模式。
附加说明:
以上是Go 有真正的'无限”调用堆栈吗?的详细内容。更多信息请关注PHP中文网其他相关文章!