无限循环变量:在无限循环中创建一个数组会浪费内存吗?

这个 go 代码是否通过在无限循环中声明相同的数组变量来浪费内存?


for {

    rxArr := make([]byte, 4500)

    ...

}


慕森卡
浏览 169回答 1
1回答

四季花海

每个循环将创建一个 4500 字节的数组。如果从迭代到迭代或在 for 循环之外对该数组的任何引用仍然存在,则该数组将不会被垃圾收集。如果没有引用存活,它将被垃圾收集。在您的示例中,您正在rxArr为每次迭代重新声明,并且没有一个能够从一个迭代到另一个迭代。所以,一切都会被收集起来。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go