go语言数组的一个疑问

来源:3-2 切片的概念

天边play

2019-05-24

定义切片数组应该是定义了一个不确定长度的数组,每次向数组中添加新值还需要对内存进行调整。 其他语言有个优化技巧,例如 [5] int, 提前分配好长度为5的数组,这样使用比较高效。 golang确不能这样使用,这是怎么考虑的,还是有其他方法解决?

写回答

1回答

ccmouse

2019-05-26

可以使用make([]int, len, cap)

len是说我要分配一个多长的切片,

cap是说我预先分配多大的数组在底下。

比如make([]int, 10, 1024)

我们预先在底下分配了一个1024长度的数组,但是这个切片的初始长度只有10。我们只要增长不超过1024,就不会造成重新分配。

3
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程