append() 可能会修改原始切片(2d 切片递归)
问题内容
(编码问题是生成所有组合的解决方案,这些组合的总和达到目标,候选arr中每个元素的次数不受限制。)
二维 [][]int
切片 theList
在附加 []int
(tmpCombo
) 的递归中通过引用传递,但附加后,其中一个元素被修改,[3 3 3 3 3 3]
更改为 [3 3 3 3 3 2]
。所以我必须在执行 append()
之前复制 tmpCombo
。 append(arr, ele)
是否更改了原始 arr
切片?如果是这样,我应该观察到更多原始的 arr
被修改,但这种情况只发生一次。所以我实际上很困惑这个切片 append()
是如何工作的。
https://go.dev/play/p/PH10SxiF7A5
...
theList: [.... [3 3 3 3 3 3]]
theList: [.... [3 3 3 3 3 2] [3 3 3 3 2 2 2]]
登录后复制