英文:
Is this a safe way to empty a list in Golang?
问题
一个传统的方法:
// 通过迭代清除所有元素
var next *Element
for e := l.Front(); e != nil; e = next {
next = e.Next()
l.Remove(e)
}
使用下面的方法如何:
l.Init()
这是一种安全的方法,不会导致任何内存泄漏吗?
英文:
An traditional way:
// Clear all elements by iterating
var next *Element
for e := l.Front(); e != nil; e = next {
next = e.Next()
l.Remove(e)
}
How about using:
l.Init()
Is it a safe way that will not causing any memory leak?
答案1
得分: 7
从 http://golang.org/pkg/container/list/#List.Init
>> Init 初始化或清空列表 l。
另外,对于大多数使用场景,切片可能更好,可以查看 Slice Tricks。
英文:
From http://golang.org/pkg/container/list/#List.Init
>> Init initializes or clears list l.
A side note, a slice is probably better for most usage scenarios, check Slice Tricks.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论