切片的增、删、改

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

 

posted @ 2020-05-27 18:15  谦逊的铅笔  阅读(144)  评论(0编辑  收藏  举报