发布于 2016-04-20 16:33:03
如果您查看链接的包的源代码,List类型似乎包含了一个Element的列表。查看Element,您会发现它有一个名为Value的导出字段,这是一个interface{}类型,这意味着它实际上可以是任何东西:string、int、float64、io.Reader等等。
要回答第二个问题,您将看到List有一个名为Remove(e *Element)的方法。你可以这样使用它:
fmt.Println(l.Len()) // prints: 4
// Iterate through list and print its contents.
for e := l.Front(); e != nil; e = e.Next() {
if e.Value == "4" {
l.Remove(e) // remove "4"
} else {
fmt.Println(e.Value)
}
}
fmt.Println(l.Len()) // prints: 3总的来说,Golang文档通常是非常可靠的,所以您应该首先检查那里。
发布于 2016-04-20 16:14:52
修改链接的确切示例,并将ints更改为字符串对我有效:
package main
import (
"container/list"
"fmt"
)
func main() {
// Create a new list and put some numbers in it.
l := list.New()
e4 := l.PushBack("4")
e1 := l.PushFront("1")
l.InsertBefore("3", e4)
l.InsertAfter("2", e1)
// Iterate through list and print its contents.
for e := l.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
}https://stackoverflow.com/questions/36749542
复制相似问题