所有这些都取决于所使用的实际实现,但是我将其基于标准Go和gccgo。
切片
切片意味着更改结构中的整数(切片是具有三个字段的结构:长度,容量和指向后备内存的指针)。
如果分片没有足够的容量,则append将需要分配新的内存并复制旧的内存。对于具有<1024个元素的片,它将使容量加倍;对于具有>
1024个元素的片,它将使容量增加1.25倍。
弦乐
由于字符串是不可变的,因此与每个字符串串联
+将创建一个新字符串,这意味着复制旧字符串。因此,如果您要循环执行N次,则将分配N个字符串,并在N次左右复制内存。



