知识分享之Golang——Golang中切片的一些增加、删除、添加、遍历删除

简介: 知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。知识分享系列目前包含Java、Golang、Linux、Docker等等。

知识分享之Golang——Golang中切片的一些增加、删除、添加、遍历删除

背景

知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。

知识分享系列目前包含Java、Golang、Linux、Docker等等。

开发环境

  • 系统:windows10
  • 语言:Golang
  • golang版本:1.17

内容

本节我们进行分享Golang中切片的一些增加、删除、添加、遍历删除等操作,以下为本次的测试案例

package main

import (
    "fmt"
)

func main() {
    var ss []string
    fmt.Printf("初始切片:%v \n", ss)
    //切片尾部追加元素append elemnt
    for i := 0; i < 5; i++ {
        ss = append(ss, fmt.Sprintf("测试%d", i))
    }
    fmt.Printf("追加元素:%v \n", ss)
    //删除切片元素remove element at index
    index := 3
    ss = append(ss[:index], ss[index+1:]...)
    fmt.Printf("删除元素:%v \n", ss)
    //在切片中间插入元素insert element at index;
    //注意:保存后部剩余元素,必须新建一个临时切片
    rear := append([]string{}, ss[index:]...)
    ss = append(ss[0:index], "插入项")
    ss = append(ss, rear...)
    fmt.Printf("中间插入元素:%v \n", ss)
}

案例2:遍历删除,重点在于len(ageList)长度一直是变化的,同时当某个元素被删除时循环下标不发生改变,这样可以有效防止前一次移动过来的对象被忽略掉

    tt := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    for i := 0; i < len(tt); {
        if tt[i] < 5 {
            tt = append(tt[:i], tt[i+1:]...)
        } else {
            // 大于等于5则进入下一个
            i++
        }
    }
    fmt.Printf("大于5的部分被保留了下来:%v", tt)

参考文献:

https://studygolang.com/articles/16223
https://blog.csdn.net/whatday/article/details/98244776

本文声明:

5330898-d1c72b6c90e378f3.png

目录
相关文章
|
Go
Golang切片copy踩坑
Golang切片copy踩坑
130 0
|
2月前
|
存储 Java Go
【Golang】(3)条件判断与循环?切片和数组的关系?映射表与Map?三组关系傻傻分不清?本文带你了解基本的复杂类型与执行判断语句
在Go中,条件控制语句总共有三种if、switch、select。循环只有for,不过for可以充当while使用。如果想要了解这些知识点,初学者进入文章中来感受吧!
151 1
|
5月前
|
人工智能 Java Go
golang之数组和切片
本文主要介绍了从 Java 转向 Golang 的开发者在数组和切片上的常见困惑。文章详细解析了数组和切片的底层实现、声明方式、内存结构、初始化方法以及使用场景,重点强调了数组是不可变的值类型,而切片是可变的引用类型,并通过大量代码示例讲解了它们的用法与区别。此外,还探讨了 new() 和 make() 函数的不同用途,帮助开发者更好地理解 Golang 中的数据结构机制。
|
Go
Golang语言之切片(slice)快速入门篇
这篇文章是关于Go语言中切片(slice)的快速入门教程,详细介绍了切片的概念、定义方式、遍历、扩容机制、使用注意事项以及相关练习题。
345 6
|
存储 Java Go
Golang 语言中数组和切片的区别是什么?
Golang 语言中数组和切片的区别是什么?
189 0
|
存储 大数据 Go
100天精通Golang(基础入门篇)——第11天:深入解析Go语言中的切片(Slice)及常用函数应用
100天精通Golang(基础入门篇)——第11天:深入解析Go语言中的切片(Slice)及常用函数应用
292 0
|
监控 Serverless Go
Golang 开发函数计算问题之Go 语言中切片扩容时需要拷贝原数组中的数据如何解决
Golang 开发函数计算问题之Go 语言中切片扩容时需要拷贝原数组中的数据如何解决
126 0
|
Go
【golang】golang 字符串切片排序
【golang】golang 字符串切片排序
162 1
|
程序员 Go
第七章 Golang数组和切片
第七章 Golang数组和切片
132 2
|
Go 索引
Golang深入浅出之-切片(Slices)入门:创建、操作与扩容机制
【4月更文挑战第20天】Go语言中的切片是动态数组,提供灵活的操作和自动扩容。本文介绍了切片的创建(通过`make()`、数组创建和切片字面量)、基本操作(索引访问、切片、赋值追加和遍历)以及扩容机制(首次和后续扩容策略)。此外,还强调了切片与底层数组的关系、切片越界问题、`append()`的使用以及理解切片的关键点,帮助提升Go编程效率和代码质量。
403 0

推荐镜像

更多