切片的增删改

Posted two-bees

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了切片的增删改相关的知识,希望对你有一定的参考价值。

在自学golang,切片的原理就不多讲了。

不知道的可以看下我以前写的  传送

切片的增删改这里是运用append来操作的,如有其他好方式,欢迎留言。

增:

//因为要追加,所以要新建一个相同类型的slice,并指定一个长度
app := make([]Product, 1)
//因为我的被添加的切片类型是值类型,而添加的是指针,故需要获取下
app[0] = *productInfo
//开始在切片头部追加
ProductNormalAll = append(app[0:len(app)],ProductNormalAll[0:len(ProductNormalAll)]...)

改:

//改就很简单了,直接range,找到后赋值即可        
for k, v := range ProductNormalAll {
    if v.Id == productInfo.Id {
        logs.Debug("AddProduct:3")
        ProductNormalAll[k] = *productInfo
        break
    }
}

删:

//删除也是range下,找到要删除的可以后执行append操作即可。当然,append时注意不要将要删除的key加进去了哦
for k, v := range ProductNormalAll {
    if v.Id == id {
        ProductNormalAll = append(ProductNormalAll[:k],ProductNormalAll[k+1:len(ProductNormalAll)]...)
        break
    }
}

 

以上是关于切片的增删改的主要内容,如果未能解决你的问题,请参考以下文章

列表的增删改查

列表的初识,列表的索引切片,列表的增删改查,列表的嵌套,元组的初识,range

2017-12-19python全栈9期第四天第二节之列表的增删改查之切片

列表的增删改查

python 关于列表的增删改查及个别的命令

列表的增删改查