【发布时间】:2020-02-22 01:33:28
【问题描述】:
我正在制作结构的一部分(用户会话)
我只想管理当前用户会话
所以我在用户登录时添加了一个会话 并在用户注销时删除
我想知道这是否会消耗内存,如果所有已删除的会话都存在于底层数组中。
【问题讨论】:
-
这取决于。请出示您的代码。
-
如果你把它从切片的中间剪下来,例如,没有。运行时很可能会重新分配您的切片(及其底层数组)并复制这些值。从切片的末尾删除一些东西可以保留已经消耗内存的容量(底层数组的大小)。即使元素被释放了,go GC 在清扫之前也会标记,所以不会立即释放
-
感谢 icza 提供链接
标签: go