Go 语言中如何使用 make 创建切片?

推荐答案

在 Go 语言中,可以使用 make 函数来创建切片。make 函数的语法如下:

  • T 是切片的元素类型。
  • length 是切片的初始长度。
  • capacity 是切片的容量(可选参数)。

示例:

本题详细解读

1. make 函数的作用

make 函数用于创建切片、映射和通道。对于切片,make 会分配一个底层数组,并返回一个指向该数组的切片。

2. 切片的长度和容量

  • 长度(length):切片当前包含的元素个数。
  • 容量(capacity):切片底层数组从切片的第一个元素开始到数组末尾的元素个数。

3. 创建切片的示例

在这个例子中:

  • 切片的长度为 5,意味着你可以访问 slice[0]slice[4]
  • 切片的容量为 10,意味着底层数组有 10 个元素的空间,但当前只使用了前 5 个。

4. 省略容量参数

如果省略容量参数,容量将默认等于长度:

5. 切片的动态扩展

切片的容量可以在运行时动态扩展。当切片的长度超过容量时,Go 会自动分配一个新的更大的底层数组,并将原有元素复制到新数组中。

6. 注意事项

  • 切片的容量是底层数组的一部分,超出容量的操作会导致底层数组的重新分配。
  • 使用 make 创建的切片会自动初始化为元素类型的零值。
纠错
反馈