切片的增删改
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