这是一种安全的方式来清空 Golang 中的列表吗?

huangapple go评论92阅读模式
英文:

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.

huangapple
  • 本文由 发表于 2014年6月26日 22:59:43
  • 转载请务必保留本文链接:https://go.coder-hub.com/24433885.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定