知识分享之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

目录
相关文章
|
4月前
|
监控 关系型数据库 MySQL
阿里2核2G3M云服务器是什么水平,可以做哪些用途?
阿里云2核2G3M云服务器是入门级配置,适合个人项目、轻量应用及小型业务初期使用。其性能适中,适用于开发测试环境、小型网站、轻量数据库等场景。带宽3Mbps可应对日均1500~2500PV的低频访问需求。推荐用于个人学习、博客搭建、轻量API服务等,但不适合高并发Web、大型数据库或视频流媒体等重度场景。通过系统优化和服务配置调整,可提升稳定性与效率。
|
Rust Shell 开发者
7步开始rust(自定义环境安装与vscode开发环境配置)
本文档详细记录了当改变Rust安装路径至特定目录(如 `/home/local_rust`)时,如何在VSCode环境中正确配置Rust开发环境的过程。主要包括:设置环境变量、使用清华大学镜像安装Rust及更新镜像源、手动部署 `rust-analyzer`、安装标准库源码、安装与配置VSCode插件等七个步骤,确保开发者能够顺利搭建并使用定制化的Rust开发环境。
1707 0
|
消息中间件 存储 监控
Kafka 消息保留时长由 24 小时变更为 72 小时的影响分析
Kafka 消息保留时长由 24 小时变更为 72 小时的影响分析
916 0
|
机器学习/深度学习 并行计算 编译器
AVX2指令集简介和代码示例
这篇文章介绍了AVX2指令集,它是Intel在2013年为提高处理器并行计算能力引入的SIMD技术。AVX2增强了整数运算,包括256位操作和位操作,还提供了FMA指令及更多广播和转换功能。与AVX相比,AVX2在图像处理和媒体编码等领域有显著优势。文章通过一个C代码示例展示了如何使用AVX2进行向量加法,并提醒编译时需确保支持AVX2指令集。
3377 4
|
前端开发 小程序
前端get请求参数包含数组的情况
前端get请求参数包含数组的情况
588 0
|
缓存 JavaScript 前端开发
Windows7压缩包安装node.js 报错提示windows Server 2012 R2 和安装React脚手架 最详细教程
对于Windows 7安装node.js 提示“This application is only supported on wWindows 8.1,windows Server 2012 R2, or higher.”类似这种情况的,该问题是因为node.js官方在 x12版本后就不支持win7系统了。
|
Java Spring Maven
gradle 配置指南
在`build.gradle`中配置Gradle仓库,首先添加阿里云公共仓库
|
JavaScript
Vue3 + Vite + TS项目引入iconfont图标(Svg方式)
前言 每一个项目都避免不了使用各种各样的图标,如果我们使用了 UI 组件库,比如说 ELement 等,那么组件库有一些封装好的图标供我们使用。但是项目是多变的和复杂的,组件库提供的图标很多时候不能满足需求,这个时候就需要我们自己引入想要的图标了。 今天介绍的便是如何将 iconfont 阿里图标库的图标引入到我们的 Vue3 项目中来!
5666 1
Vue3 + Vite + TS项目引入iconfont图标(Svg方式)
|
存储 JSON API
调用API接口获取淘宝关键词商品数据:详细指南与代码实践
在电商领域,获取关键词商品数据对于市场研究、竞品分析以及营销策略的制定具有重要意义。淘宝作为中国最大的电商平台之一,提供了丰富的API接口供开发者使用。本文将详细介绍如何调用淘宝API接口来获取淘宝关键词商品数据,并给出相应的代码示例。通过本文的学习,你将能够掌握利用API接口获取关键词商品数据的方法,为电商业务提供有力的数据支持。
深入浅出阿里数据同步神器:Canal原理+配置+实战全网最全解析!
canal 翻译为管道,主要用途是基于 MySQL 数据库的增量日志 Binlog 解析,提供增量数据订阅和消费。 早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。

热门文章

最新文章