这篇“golang如何添加list元素”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“golang如何添加list元素”文章吧。
添加方法:1、用InsertBefore()函数在列表指定元素(mark点)前插入元素,语法“InsertBefore(v,mark)”;2、用InsertAfter()函数在列表指定元素(mark点)后插入元素,语法“InsertAfter(v,mark)”;3、用PushBackList(()函数在列表尾部插入元素;4、用PushFrontList()在列表头部插入元素。
Golang 的 列表 元素的插入有四种情景,分别为:在指定元素前插入、在指定元素后插入、在列表头部插入和在列表尾部插入。
列表插入元素的方法如下表所示:
| 方 法 | 功 能 | 
|---|---|
| InsertAfter(v interface {}, mark * Element) * Element | 在 mark 点之后插入元素,mark 点由其他插入函数提供 | 
| InsertBefore(v interface {}, mark * Element) *Element | 在 mark 点之前插入元素,mark 点由其他插入函数提供 | 
| PushBackList(other *List) | 添加 other 列表元素到尾部 | 
| PushFrontList(other *List) | 添加 other 列表元素到头部 | 
下面就来详细介绍一下。
1、在列表指定元素前插入
在节点 mark 前面插入一个元素 v。
语法
    
package main
import (
    "container/list"
    "fmt"
)
func main() {
    //使用 InsertBefore 在列表的指定元素前插入元素
    listHaiCoder := list.New()
    element := listHaiCoder.PushBack("Hello")
    element = listHaiCoder.InsertBefore("world", element)
    listHaiCoder.InsertBefore("你好", element)
    for i := listHaiCoder.Front(); i != nil; i = i.Next() {
        fmt.Println("Element =", i.Value)
    }
}
    
分析:
- 
        我们通过 list.New 创建了一个列表 listHaiCoder,接着,首先使用 PushBack 在列表尾部插入一个元素,再使用 
- 
        InsertBefore 在刚插入的尾部的元素前面插入一个元素。 
2、在列表指定元素后插入
在节点 mark 后面插入一个元素 v。
    
package main
import (
    "container/list"
    "fmt"
)
func main() {
    //使用 InsertAfter 在列表的指定元素后插入元素
    listHaiCoder := list.New()
    element := listHaiCoder.PushBack("Hello")
    element = listHaiCoder.InsertAfter("world", element)
    listHaiCoder.InsertAfter("你好", element)
    for i := listHaiCoder.Front(); i != nil; i = i.Next() {
        fmt.Println("Element =", i.Value)
    }
}
    
分析:
- 
        我们通过 list.New 创建了一个列表 listHaiCoder,接着,首先使用 PushBack 在列表尾部插入一个元素,再使用 
- 
        InsertAfter 在刚插入的尾部的元素后面插入一个元素。 
3、在列表头部插入
在列表头部插入一个元素 v。
    
package main
import (
    "container/list"
    "fmt"
)
func main() {
    //使用 PushFront 在列表头部插入元素
    listHaiCoder := list.New()
    listHaiCoder.PushFront("Hello")
    listHaiCoder.PushFront("HaiCoder")
    for i := listHaiCoder.Front(); i != nil; i = i.Next() {
        fmt.Println("Element =", i.Value)
    }
}
    
分析:
- 
        我们通过 list.New 创建了一个列表 listHaiCoder,接着使用 PushFront 函数在列表的头部连续插入了两个元素。因为我们使用的是头插法,因此最后插入的元素在最前面。 
- 
        最后,我们 遍历列表 所有元素时,发现,最后插入的元素在最前面。 
4、在列表尾部插入
在列表尾部插入一个元素 v。
    
package main
import (
    "container/list"
    "fmt"
)
func main() {
    //使用 PushBack 在列表尾部插入元素
    listHaiCoder := list.New()
    listHaiCoder.PushBack("Hello")
    listHaiCoder.PushBack("HaiCoder")
    for i := listHaiCoder.Front(); i != nil; i = i.Next() {
        fmt.Println("Element =", i.Value)
    }
}
    
分析:我们通过 list.New 创建了一个列表 listHaiCoder,接着使用 PushBack 函数在列表的尾部连续插入了两个元素。因为我们使用的是尾插法,因此最后插入的元素在最后面,最先插入的元素在最前面。