首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >知识分享之Golang——Golang中切片的一些增加、删除、添加、遍历删除

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

作者头像
cn華少
发布2022-03-04 13:32:29
发布2022-03-04 13:32:29
6520
举报
文章被收录于专栏:IT综合技术分享IT综合技术分享

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

背景

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

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

开发环境

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

内容

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

代码语言:javascript
复制
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)长度一直是变化的,同时当某个元素被删除时循环下标不发生改变,这样可以有效防止前一次移动过来的对象被忽略掉

代码语言:javascript
复制
    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)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022.02.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 知识分享之Golang——Golang中切片的一些增加、删除、添加、遍历删除
    • 背景
    • 开发环境
    • 内容
      • 案例2:遍历删除,重点在于len(ageList)长度一直是变化的,同时当某个元素被删除时循环下标不发生改变,这样可以有效防止前一次移动过来的对象被忽略掉
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档