我已经开始使用Go进行编程了,我想知道何时使用new(Object)
它会将内存分配给该对象的大小吗?如果是这种情况,如何在完成对象使用后释放此内存?
我问这个是因为在C ++中,当一个对象上使用new
时,一旦不再需要存储该对象,就可以delete
该对象。
我一直在寻找Go是否有delete
或类似于C ++的东西,但我一直找不到任何东西。
非常感谢任何帮助。
答案 0 :(得分:4)
答案 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
该对象。
你必须删除,否则你的内存泄漏。