Golang新内存分配

时间:2016-10-24 10:42:52

标签: go dynamic-memory-allocation

我已经开始使用Go进行编程了,我想知道何时使用new(Object)它会将内存分配给该对象的大小吗?如果是这种情况,如何在完成对象使用后释放此内存?

我问这个是因为在C ++中,当一个对象上使用new时,一旦不再需要存储该对象,就可以delete该对象。

我一直在寻找Go是否有delete或类似于C ++的东西,但我一直找不到任何东西。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:4)

如您所见here

  

Go完全被垃圾收集,并为并发执行和通信提供基本支持。

所以你不必关心内存分配。

答案 1 :(得分:3)

Go有垃圾收集。这意味着Go运行时会在后台检查是否不再使用对象或任何其他变量,如果是这种情况,则释放内存。

另见Go FAQ:Why is the syntax so different from C? - Why do garbage collection? Won't it be too expensive?

答案 2 :(得分:1)

在Go中,与C和C ++不同,但在Java中,内存由garbage collector自动管理。

没有delete来致电。

<强>题外话:

  

在C ++中,当一个对象上使用new时,一旦不再需要存储该对象,可以 delete该对象。

必须删除,否则你的内存泄漏。