切片的增、删、改
在自学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 } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步