列表是一种非连续的存储容器,由多个节点组成,节点通过一些 变量 记录彼此之间的关系,列表有多种实现方法,如单链表、双链表等。
在 Go 语言 中,列表使用 container/list 包来实现,内部的实现原理是双链表,列表能够高效地进行任意位置的元素插入和删除操作。
Golang 中的列表可以存储任意 数据类型 的值,列表的初始化有两种方式,分别为:使用 list.New 初始化和使用 var 初始化。
listName := list.New()
通过 list.New 初始化了一个名为 listName 的列表。
var listName = list.List
通过 list.List 初始化了一个名为 listName 的列表。
通过 list.New 创建列表
package main
import (
"container/list"
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
//通过 list.New 创建列表
listHaiCoder := list.New()
listHaiCoder.PushBack("Hello")
listHaiCoder.PushBack("HaiCoder")
fmt.Println(listHaiCoder)
}
程序运行后,控制台输出如下:
我们通过 list.New 创建了一个列表 listHaiCoder,并使用 PushBack 向列表中插入两个元素。
使用 var 关键字初始化列表
package main
import (
"container/list"
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
//使用var关键字初始化列表
var listHaiCoder list.List
listHaiCoder.PushBack("Hello")
listHaiCoder.PushBack("HaiCoder")
fmt.Println(listHaiCoder)
}
程序运行后,控制台输出如下:
使用 var 关键字初始化列表 listHaiCoder,并使用 PushBack 向列表中插入两个元素。
使用 TypeOf() 函数,获取列表类型
package main
import (
"container/list"
"fmt"
"reflect"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
//使用 TypeOf() 函数,获取列表list类型
var listHaiCoder list.List
listHaiCoder.PushBack("HaiCoder")
fmt.Println(reflect.TypeOf(listHaiCoder))
}
程序运行后,控制台输出如下:
使用 TypeOf() 函数,获取列表类型。
在 Go 语言中,列表使用 container/list 包来实现,内部的实现原理是双链表,列表能够高效地进行任意位置的元素插入和删除操作。
Golang 中的列表可以存储任意数据类型的值,列表的初始化有两种方式,分别为:使用 list.New 初始化和使用 var 初始化。使用 list.New 初始化列表语法:
listName := list.New()
使用 var 初始化列表:
var listName = list.List