我正在学习 golang,并且对切片的容量感到困惑。
例如, arr := make([]float64, 5, 10)
我有一个包含 5 个值的数组,其容量为 10。如果我将一个值分配给第 8 个位置,编译器会抛出一个错误索引超出范围。如果我生长一个切片,但它创建了一个新切片(请参阅我从官方 go 语言复制的文档)。
这是切片文档:
“切片不会复制切片的数据。它会创建一个指向原始数组的新切片值。” “要增加切片的容量,必须创建一个新的更大的切片,并将原始切片的内容复制到其中。”
那么容量的目的是什么?
相关分类