go的数组切片的长度与容量
sukha 1 min read
Table of Contents
Go 切片的长度与容量
设数组 a 的长度为 N:
| 写法 | 含义 | len | cap |
|---|---|---|---|
a[:] | 整个数组 | N | N |
a[:high] | 从头截取 | high | N |
a[low:] | 从起点截到末尾 | N - low | N - low |
a[low:high] | 指定当前范围 | high - low | N - low |
a[low:high:max] | 指定范围,并限制容量 | high - low | max - low |
记忆方法
len:当前结束位置减去起点。cap:允许扩展的结束位置减去起点。- 所有结束位置都不包含。
- 三下标中的
max是边界位置,不是容量。
如果 a 本身是切片:
- 省略
low时取0。 - 省略
high时取len(a)。 - 普通切片的容量为
cap(a) - low。 - 三下标切片的容量为
max - low,且max不能省略。
直接使用 len(s) 和 cap(s) 可以获取切片当前的长度和容量。
评论 (0)
请先登录后再发表评论