关于Go中的切片在进行复制操作时,是否真的会发生扩容的问题?

请教大家一个问题。切片复制的时候会扩容吗?看到有的文档,提到超过原有的容量,就会进行扩容。但copy(目标切片,原切片)。如果原切片的长度>目标切片,此时只会复制目标切片容量的个数。按理不会超过目标切片的容量呀。
例如:

slice1 := []int{1, 2, 3, 4, 5, 6}
slice2 := []int{1, 2, 3}
copy(slice2, slice1);
go
讨论数量: 2

copy函数本身不会触发扩容机制,如果触发扩容机制,检查你是否对这个拷贝后的切片进行了追加操作。

1年前 评论
old-boy (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!