MST
星途 面试题库

面试题:Go切片扩容机制中,初始容量为0时首次添加元素扩容的规则是什么

在Go语言中,当一个切片的初始容量为0时,第一次向该切片添加元素,其容量是如何变化的?请简要说明相关的扩容规则。
27.8万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
  1. 初始容量为0时第一次添加元素的容量变化
    • 当一个切片的初始容量为0时,第一次向该切片添加元素,其容量会变为1。
  2. Go语言切片扩容规则简要说明
    • 如果新的元素个数(原元素个数 + 新增元素个数)小于等于当前容量的2倍,且原容量小于1024,则新容量会变为当前容量的2倍。
    • 如果原容量大于等于1024,新容量会变为原容量的1.25倍。
    • 如果新的元素个数超过了当前容量的2倍,则新容量直接设置为新的元素个数。