0%

go语言基础2——map相关

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

两种情况:

  1. value元素为值类型时,不会释放内存
  2. value元素为引用类型时,会释放内存,释放该元素类型所占内存

当map置为nil时,内存被回收 [(go垃圾回收)]([Go面试]Go GC实现原理?_哔哩哔哩_bilibili)

map 使用注意的点,是否并发安全?
  1. 一定要先初始化,否则panic
  2. map类型(引用类型)是容易发生并发访问问题的。不注意就容易发生程序运行时并发读写导致的panic。 Go语言内建的map对象不是线程安全的,并发读写的时候运行时会有检查,遇到并发问题就会导致panic。
-------------本文结束感谢您的阅读-------------
打赏一瓶矿泉水