专栏首页solate 杂货铺slice for 循环中删除元素

slice for 循环中删除元素

slice for 循环中删除元素

方法1

Golang Delete Slice Item in Range Problem

chars := []string{"a", "a", "b"}

for i := 0; i < len(chars); i++ {
    if chars[i] == "a" {
        chars = append(chars[:i], chars[i+1:]...)
        i-- // form the remove item index to start iterate next item
    }
}

fmt.Printf("%+v", chars)

方法二

Find and delete elements from slice in golang

p := []int{1, -13, 9, 6, -21, 125}
j := 0

for _, n := range p {
    if n >= 0 {
        p[j] = n
        j++
    }
}
p = p[:j]

不改原slice

p := []int{1, -13, 9, 6, -21, 125}
j := 0
q := make([]int, len(p))
for _, n := range p {
    if n >= 0 {
        q[j] = n
        j++
    }
}
q = q[:j] // q is copy with numbers >= 0

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mac 安装TortoiseHg

    Clone TortoiseHg repository using Mercurial:

    solate
  • mongodb 安装和配置auth验证

    但是 想使用 brew services start mongodb --auth 不起作用

    solate
  • Docker 生产SSH服务的镜像

    7.当前这个容器 root 用户目录下建立.ssh目录,复制需要的公钥到 authorized_keys 文件

    solate
  • LintCode 字符大小写排序题目分析代码

    desperate633
  • LintCode 字符大小写排序题目代码

    小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置。 样例 给出"abAcD",一个可能的答案为"acbAD"

    desperate633
  • spring security oauth2 JWTTokenStore与RedisTokenStore区别优缺点

    路过君
  • CVPR 2020| 商汤提出大规模多标签目标检测新算法

    本文介绍的是CVPR2020 Oral论文《Large-Scale Object Detection in the Wild from Imbalanced M...

    AI科技评论
  • 云开发的数据库权限机制解读丨云开发101

    在使用云开发进行开发时,数据库权限是一个让不少人困扰的部分,四种数据库权限,到底是什么意思?其各自的权限、应用场景都是什么?大多数人对于这个机制,还是模糊的。为...

    腾讯云开发TCB
  • CVPR 2020 | 中科院、商汤联合提出大规模多标签目标检测新算法

    在深度学习中,数据始终是至关重要的因素之一。随着硬件与算法的发展,在学术界和工业界,对数据规模的需求也越来越强。然而在大规模数据的场景下,出现了许多新的挑战,也...

    计算机视觉联盟
  • “首家CDR股”变泡影,小米缘何放证监会鸽子?

    镁客网

扫码关注云+社区

领取腾讯云代金券