Golang Slice 的扩容机制,有什么注意点?

本文阅读 1 分钟
首页 golang 正文

Go 中切片扩容的策略是这样的:

  • 首先判断,如果新申请容量大于 2 倍的旧容量,最终容量就是新申请的容 量
  • 否则判断,如果旧切片的长度小于 1024,则最终容量就是旧容量的两倍
  • 否则判断,如果旧切片长度大于等于 1024,则最终容量从旧容量开始循环 增加原来的 1/4, 直到最终容量大于等于新申请的容量
  • 如果最终容量计算值溢出,则最终容量就是新申请容量
本文来自投稿,不代表本站立场,如若转载,请注明出处:
如何限制 goroutine 并发数量 (channel 或 WaitGroup)
« 上一篇 09-17
分片键的选择?
下一篇 » 09-17

发表评论

发表评论