目录
简介
- slice本身不是数组,它指向底层的数组
- 是作为边长数组的替代方案,可以关联底层数组的局部或者全部
- 为引用类型,类似指针
- 可以直接创建或从底层数组获取生成,也可以用=直接从别的slice赋值
- 使用len() 获取元素个数,cap()获取容量
- 一般使用make()创建,make([]T,len,cap), 其中cap可以省略,此时和len的值相同,len表示存数的个数,cap表示容量
- 如果len超过了cap,会重新分配内存cap,然后翻倍
- 如果多个slice指向了同一个底层数组,其中一个的值改变会影响全部
声明赋值和初始化
方法一
func main(){
a := [10]int{
0,1,2,3,4,5,6,7,8,9}
fmt.Println(a)
//定义slice,[]里面不加任何东西
var s1 []int
s1 = a[5:10]
//索引5到10,不包括10
s2 := a[:5]
//取下标从0到5,不包括5
s3 := a[5:]
s4 := a[5:len(a)]
/