互联网面试宝典

您现在的位置是: 首页 > Golang

问题详情

在 golang 的 map 中删除一个 key,它的内存会释放么?

面试宝典 2023-06-12 Web前端开发工程师 69
在 Golang 中,从 map 中删除一个键时,它的值不会立即从内存中释放。这是因为 Golang 的垃圾回收机制是基于计数引用的,只有当 map 中的值的引用计数达到零时,它们才会被垃圾收集器清理。在 map 中删除一个键时,只会将该键和值从 map 中删除,但实际的内存回收可能要等到垃圾回收器扫描这些值并发现它们的引用计数已经为零时才会进行。因此,建议在处理大型 map 时显式调用 runtime.GC() 以释放被删除的键对应的内存空间。