Golang中闭包的自由变量是如何进行存储的?

最近一段时间在学习Golang,也因此接触了函数式编程中的“闭包”概念。于是学习过程中产生一个疑问——闭包中的自由变量到底是存储在什么位置的? 比方说…
关注者
25
被浏览
5,286

4 个回答

在你所举的这个例子中,编译期,闭包局部变量 x 会经过 Golang 的 Escape Analysis,决定逃逸到堆内存中进行分配。

我之前做过一个这相关的视频

谢邀。我的理解是从heap里面分配的。