golang怎么添加list元素

添加方法:1、用InsertBefore()函数在列表指定元素(mark点)前插入元素,语法“InsertBefore(v,mark)”;2、用InsertAfter()函数在列表指定元素(mark点)后插入元素,语法“InsertAfter(v,mark)”;3、用PushBackList(()函数在列表尾部插入元素;4、用PushFrontList()在列表头部插入元素。

golang怎么添加list元素

本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

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 列表元素到头部

下面就来详细介绍一下。

立即学习“go语言免费学习笔记(深入)”;

1、在列表指定元素前插入

在节点 mark 前面插入一个元素 v。

语法

InsertBefore(v interface {}, mark * Element) *Element

登录后复制

参数 描述

v要插入的元素。mark列表的节点。

返回值:元素节点。

示例:使用 InsertBefore 在列表的指定元素前插入元素

package mainimport ("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)}}

登录后复制

1.png

分析:

我们通过 list.New 创建了一个列表 listHaiCoder,接着,首先使用 PushBack 在列表尾部插入一个元素,再使用

InsertBefore 在刚插入的尾部的元素前面插入一个元素。

2、在列表指定元素后插入

在节点 mark 后面插入一个元素 v。

InsertAfter(v interface {}, mark * Element) *Element

登录后复制

示例:

package mainimport ("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)}}

登录后复制

2.png

分析:

我们通过 list.New 创建了一个列表 listHaiCoder,接着,首先使用 PushBack 在列表尾部插入一个元素,再使用

InsertAfter 在刚插入的尾部的元素后面插入一个元素。

3、在列表头部插入

在列表头部插入一个元素 v。

PushFront(v interface{}) *Element

登录后复制

示例:使用 PushFront 在列表头部插入元素

package mainimport ("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)}}

登录后复制

3.png

分析:

我们通过 list.New 创建了一个列表 listHaiCoder,接着使用 PushFront 函数在列表的头部连续插入了两个元素。因为我们使用的是头插法,因此最后插入的元素在最前面。

最后,我们 遍历列表 所有元素时,发现,最后插入的元素在最前面。

4、在列表尾部插入

在列表尾部插入一个元素 v。

PushBack(v interface{}) *Element

登录后复制

示例:使用 PushBack 在列表尾部插入元素

package mainimport ("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)}}

登录后复制

4.png

分析:我们通过 list.New 创建了一个列表 listHaiCoder,接着使用 PushBack 函数在列表的尾部连续插入了两个元素。因为我们使用的是尾插法,因此最后插入的元素在最后面,最先插入的元素在最前面。

【相关推荐:Go视频教程、编程教学】

以上就是golang怎么添加list元素的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2414984.html

(0)
上一篇 2025年3月3日 00:49:16
下一篇 2025年2月28日 17:43:35

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • go语言怎么获取list长度

    在go语言中,可以使用列表内置的Len()函数来获取list长度,语法“列表list.Len()”,返回值为指定list的长度。Len()函数可用于计算数组(包括数组指针)、切片(slice)、map、channel、字符串等数据类型的长度…

    2025年3月3日
    100
  • golang循环遍历map的方式有几种

    golang循环遍历map的方式有1种,就是利用“for range”语句。“for range”是Go语言特有的一种的迭代结构,语法“for key, value := range mapName{…}”,返回的第一个是map…

    2025年3月3日 编程技术
    200
  • go语言怎么获取map元素

    两种方法:1、利用“for range”语句遍历map来获取全部元素,语法“for key, value := range mapName{…}”。2、使用key做为索引的形式来获取指定元素,语法“value, isOk := …

    2025年3月3日
    200
  • go语言中list怎么删除元素

    在go语言中,可以使用remove()函数来删除list元素,语法“list对象.Remove(element)”,参数element表示要删除列表元素。element元素不能为空,如果不为空则返回被删除的元素的值,如果为空则会报异常。 本…

    2025年3月3日
    200
  • go语言中join方法有什么用

    在go语言中,join()是strings包的一个字符串处理函数,可以将数组(切片)转为字符串,即将字符串切片(数组)中存在的所有元素连接为单个字符串;语法“strings.Join(s,sep) ”,参数“s”为用来连接元素的字符串切片(…

    2025年3月3日
    200
  • go语言扩容方法有哪几种

    go语言扩容方法有:1、Slice扩容,在使用append向Slice追加元素时,如果Slice空间不足,将会触发Slice扩容;2、Map扩容。触发Map扩容的条件有二个:1、负载因子大于6.5时,也即平均每个bucket存储的键值对达到…

    2025年3月3日 编程技术
    200
  • Go语言怎么判断指定字符是否存在

    判断方法:1、使用index()函数判断,可以在字符串中查找指定字符第一次出现的位置,语法“strings.Index(str,指定字符)”,如果返回“-1”则不存在,否则存在。2、使用ContainsRune()函数判断,可以判断字符是否…

    2025年3月3日
    200
  • Go语言怎么获取函数执行时间

    在Go语言中,可以使用time包中的Since()函数来获取函数执行时间。在函数执行之前设置一个起始时间,并在函数运行结束时获取从起始时间到现在的时间间隔,这个时间间隔就是函数的执行时间;而函数执行时间可以使用time.Since()函数计…

    2025年3月3日
    200
  • go语言怎么将float转string类型

    转换方法:1、使用Sprintf()函数,支持将float32、float64转为string,语法“str := fmt.Sprintf(“%f”, floatVar)”。2、使用FormatFloat()函数,可…

    2025年3月3日
    200
  • LiteIDE是什么

    LiteIDE是一款专为Go语言开发而设计的开源、跨平台、轻量级集成开发环境(IDE),是Go语言的一个开发工具,基于Qt开发(一个跨平台的C++框架),支持Windows、Linux和Mac OS X平台。 本教程操作环境:windows…

    2025年3月3日 编程技术
    200

发表回复

登录后才能评论