golang:树状结构的垃圾收集

时间:2016-12-18 08:43:05

标签: recursion go tree garbage-collection

我有一个类似于递归目录树的数据结构,例如:

type tree struct {
    name string
    subs []*tree
}

这个数据结构是递归的,这意味着subs可以包含树结构,它们本身包含subs,依此类推。

现在,R表示这样的树结构,如果我这样做:R.subs = nil,子树项会被垃圾收集,或者我必须写这样的东西:

func (t *tree) Truncate() {
    for _, s := range t.subs {
        s.Truncate()
    }
    t.subs = nil
}

一般来说,我的问题是Go如何知道不再需要某些对象并且有资格进行垃圾回收?

非常感谢。

0 个答案:

没有答案