数组
数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。虽然数组元素可以被修改,但是数组长度是固定的,而且在go语言中数组的长度也是数组类型的组成部分,所以不同长度或不同类型的数据组成的数组都是不同的类型,因而在go语言中很少使用数组。
slice
slice(中文翻译叫:切片),slice在go语言中不是数组,但其底层数据对应的数据类型是数组,不过每个切片还包含了独立的长度len和容量信息cap,可以看做是一个结构体
type slice struct {
array unsafe.Pointer //存放数据的数组指针
len int //长度
cap int //容量
}
// 下面是查看扩容倍数的一个小方法
func coef_cap() {
a :=make([]int,0,5)
preCap := cap(a)
for i := 0; i < 1000; i++ {
a = append(a, i)
currCap := cap(a)
if currCap>preCap{
fmt.Printf(\"上一个cap %d --> 当前cap %d\\n\",preCap,currCap)
preCap = currCap
}
}
}
来源:https://www.cnblogs.com/lwcbk/p/17026383.html
本站部分图文来源于网络,如有侵权请联系删除。