切片的增、删、改

时间:2020-05-27
本文章向大家介绍切片的增、删、改,主要包括切片的增、删、改使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在自学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
    }
}

原文地址:https://www.cnblogs.com/two-bees/p/12975177.html