我有一个map [string] * list.List,每个列表节点也是一个指针。通过简单清除地图为零,所有的地图和列表以及所有这些指针将被清除并垃圾收集并准备好再次使用?使用指针值清除地图Go
type UnrolledGroup struct {
next int
s []uint32
}
var dictionary = struct {
m map[string]*list.List
keys []string
}{m: make(map[string]*list.List)}
l := list.New()
newGroup := UnrolledGroup{next: 1, s: make([]uint32, groupLen)}
newGroup.s[0] = pos
l.PushBack(&newGroup)
dictionary.m[token] = l
现在是否清楚了整个事情?
dictionary.m = nil
这里的问题很相似https://groups.google.com/forum/#!topic/golang-nuts/6NxgkyQxS2c – nvcnvn
垃圾收集器最终会从内存中删除对象。这不会保证什么时候会发生。 – fuz