内置的append()函数,给slice追加一个item。如果这个slice还有空闲容量(cap(s) > len(s)
),则直接进行追加。否则,先对slice进行扩容,然后再进行追加。上述这些在append()函数的文档里有详细的说明,但是文档并没有说扩容是如何进行的,所以下面用一段代码做一个试验:
package main
func main() {
s := []int{}; println(cap(s))
s = appendN(s, 1); println(cap(s))
s = appendN(s, 2); println(