go的数组切片的长度与容量

sukha 1 min read
Table of Contents

Go 切片的长度与容量

设数组 a 的长度为 N:

写法含义lencap
a[:]整个数组NN
a[:high]从头截取highN
a[low:]从起点截到末尾N - lowN - low
a[low:high]指定当前范围high - lowN - low
a[low:high:max]指定范围,并限制容量high - lowmax - low

记忆方法

  • len:当前结束位置减去起点。
  • cap:允许扩展的结束位置减去起点。
  • 所有结束位置都不包含。
  • 三下标中的 max 是边界位置,不是容量。

如果 a 本身是切片:

  • 省略 low 时取 0。
  • 省略 high 时取 len(a)。
  • 普通切片的容量为 cap(a) - low。
  • 三下标切片的容量为 max - low,且 max 不能省略。

直接使用 len(s) 和 cap(s) 可以获取切片当前的长度和容量。

后记

My avatar

感谢你读到这里。

这座小站更像一份持续维护的“终端笔记”:记录我解决问题的过程,也记录走过的弯路。


More Posts

评论

评论 (0)

请先登录后再发表评论

加载中...