代码
https://github.com/fangkang7/goLearn
案例
在这个案例中我们第一次定义的切片长度为2 那么他的容器就是2
但是在扩容了一个4后 容器就不够了就会翻倍为4
再一次扩容5和6时容量就又不够了,就会翻倍为8
package main import "fmt" /** cap(slice)获取切片的容器 切片创建初期,容器等于长度 动态扩张时,一旦容量无法满足,就会以翻倍的策略进行扩张 */ func main() { var slice = []int{1, 2} fmt.Printf("slice的长度是%d,容量是%d\n", len(slice), cap(slice)) slice = append(slice, 4) fmt.Printf("slice的长度是%d,容量是%d\n", len(slice), cap(slice)) slice = append(slice, 5, 6) fmt.Printf("slice的长度是%d,容量是%d\n", len(slice), cap(slice)) }