go:list列表

352 阅读1分钟

参考网址

www.csdn.net/tags/MtTaMg… www.jianshu.com/p/81f9a7d3f…

什么是列表list

列表(list)--可以快速增删的`非连续`空间的容器

列表是一种非连续存储的容器,由多个节点组成,节点通过一些变量记录彼此之间的关系。
列表有多种实现方法,如单链表、双链表等。

在Go语言中,将列表使用container/list包来实现,内部的实现原理是双链表。
列表能够高效地进行任意位置的元素插入和删除操作。

初始化列表

1、通过container/list包的New方法初始化list
  变量名:=list.New()

2、通过声明初始化list
   var 变量名 list.List
   

插入元素

双链表支持从队列前方或后方插入元素,分别对应的方法是PushFront和PushBack。

下面代码显示 如何给list添加元素:

l:=list.New()

l.PushBack("first")  # 在尾部添加元素

l.PushFront(67)      # 在头部添加元素

删除元素

遍历list中的每一个元素

package main

import (
	"container/list"
	"fmt"
)

func main() {
	l := list.New()  // 定义一个列表list
	//尾部添加
	l.PushBack("canon")
        
	//头部添加
	l.PushFront(67)
        
        // 遍历打印列表中的每一个元素
	for i := l.Front(); i != nil; i = i.Next() {
		fmt.Println(i.Value)
	}
}