slice与array
slice and array
相同点
- len()获取长度,通过下表获取
- 分配一块连续的内存空间
array
- 值类型
- var,:= 创建,
- 不可用make(运行时)、append、copy
- 创建后长度、容量不可改变
slice
1 2 3 4 5 6
// slice 源代码表示 type SliceHeader struct { Data uintptr // 指向底层数组 Len int Cap int }
- 引用类型
- var,:= 、make创建
- 可扩充,1024个元素内2倍增长,往后1/4增长
- 底层实现是指向一个array,容量为底层array的大小
使用场景
- 一般使用slice
- 不确定len用
slice
,确定大小使用array
。
完整表达式:a[low:high:max]
- 完整切片表达式:http://www.jalen-qian.com/p/go%E8%AF%AD%E8%A8%80%E5%9F%BA%E7%A1%80%E4%B9%8B%E5%88%87%E7%89%87/
This post is licensed under CC BY 4.0 by the author.