2 回答
TA贡献1802条经验 获得超4个赞
修改您链接的确切示例,并将整数更改为字符串对我有用:
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)
}
}
TA贡献1836条经验 获得超13个赞
如果您查看链接的包的源代码,该List类型似乎包含一个Elements列表。望着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 文档通常非常可靠,因此您应该始终先查看那里。
https://golang.org/pkg/container/list/#Element
- 2 回答
- 0 关注
- 179 浏览
添加回答
举报