go map删除元素后内存是否会释放

发布时间 2023-11-18 19:30:42作者: bean_boom

go 底层map 是由若干个bmap(桶)构成的,桶只会扩容,不会缩容 ,所以 map中占用的内存不会被释放

但是!!!
以上只针对值类型的数据结构 例如:基本类型 int string slice struct 等

如果key为 指针变量 删除后这个指针变量内存不会释放,但是这个指针指向的对象,引用计数会 -1 如果引用计数为0 在gc的时候就会被释放!