秋日的晚霞 2022-06-27 11:52 采纳率: 94.4%
浏览 8
已结题

go 原始容量大于1024 扩容机制问题求解

go 扩容问题


//情景二 :  如果需要的容量 小于 当前容量 * 2 且 当前容量 少于 1024

    s1 := make([]int, 1022, 1024) // 原有容量大于等于 1024 则 扩容规则为  oldcap + = oldcap *0.25  则结果应为  1280

    fmt.Printf("原始切片的长度 %d 切片容量 %d \n", len(s1), cap(s1))

    s1 = append(s1, 1, 2, 3)

    fmt.Printf("新切片的长度 %d 切片容量 %d \n", len(s1), cap(s1)) //但实际结果为 1536
    //输出结果

输出结果

img

按照扩容规则 新的容量大小应该为 1280 才对 但输出结果 新的容量大小为 1536

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 系统已结题 7月5日
  • 已采纳回答 6月27日
  • 创建了问题 6月27日

悬赏问题

  • ¥15 微软硬件驱动认证账号申请
  • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
  • ¥15 GPT写作提示指令词
  • ¥20 如何在cst中建立这种螺旋扇叶结构
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥20 关于DAC输出1.000V对分辨率和精度的要求
  • ¥20 想写一个文件管理器,加载全部子文件夹后,要一级一级返回
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?
  • ¥15 请问GPT语言模型怎么训练?