【GO】复合类型:切片的动态扩容

代码

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))
}

博主微信欢迎交流

在这里插入图片描述

发布了859 篇原创文章 · 获赞 131 · 访问量 67万+

猜你喜欢

转载自blog.csdn.net/fangkang7/article/details/104900480