map 中删除一个 key,它的内存会释放么?
两种情况:
- value元素为值类型时,不会释放内存
- value元素为引用类型时,会释放内存,释放该元素类型所占内存
当map置为nil时,内存被回收 [(go垃圾回收)]([Go面试]Go GC实现原理?_哔哩哔哩_bilibili)
map 使用注意的点,是否并发安全?
- 一定要先初始化,否则panic
- map类型(引用类型)是容易发生并发访问问题的。不注意就容易发生程序运行时并发读写导致的panic。 Go语言内建的map对象不是线程安全的,并发读写的时候运行时会有检查,遇到并发问题就会导致panic。