创建切片

   // 类型 长度 预留长度
a:=make([]int,3,4)

当 append 之后 总的长度 超过了预留的长度,就会在内存中新建一块地址,默认的预留长度是当前预留长度的 2 倍

func main() {
	a:=make([]int,3,4)
	fmt.Println(len(a),cap(a))
	a=append(a,2,3,4)
	fmt.Println(len(a),cap(a))
	a=append(a,2,3,4)
	fmt.Println(len(a),cap(a))
	a=append(a,2,3,4,1,1,2,3,3,4,5,5,6,6,7,8)
	fmt.Println(len(a),cap(a))
}

输出

3 4
6 8
9 16
24 32
posted on 2018-01-30 19:31  laoliyi  阅读(80)  评论(0编辑  收藏  举报