当append
切片时,如果需要,可以放大切片。因为spec没有指定算法,所以我很好奇。
我尝试在Go源代码中找到append
实现,但无法找到它。
有人能解释一下扩大切片的指定算法吗?容量总是翻倍?或者任何人都可以提供append
的源代码位置?我可以自己检查一下。
答案 0 :(得分:9)
The code responsible for growing slices in append
can be found here.
所以在当前的实现中,规则是:
据推测,这不是规范的一部分,因此如果需要,将来可以改变启发式方法。