我目前正在循环切片并每次删除第一个元素。
为此,我使用以下代码:
mySlice = append(mySlice[1:])
前几次迭代的一切都很顺利,但是在后来的几次迭代中,一些元素被删除,一些元素被重复:
在:
40.917
37.6384
41.2783
38.1481
后:
40.917
37.6384
41.2783
37.6384
41.2783
38.1481
我为所有迭代打印了切片的len
和cap
,但是对于每次迭代,它们似乎按预期递减1
。
更新
我想出了问题:似乎即使我只是将我的切片传递给另一个函数来创建局部切片,如果我操纵局部切片,我的原始切片也会受到影响(D'哦! )。
Go Playground Link:https://play.golang.org/p/ca57tgusXD
答案 0 :(得分:0)