切片的创建和初始化

  • 通过 make() 函数创建切片
  • 通过字面量创建切片

通过make函数创建切片

  1. var slice1 []type = make([]type, len)
  2. //也可以简写为
  3. slice1 := make([]type, len)

也可以指定容量,其中 capacity 为可选参数。这里 len 是数组的长度并且也是切片的初始长度。

  1. make([]T, length, capacity)

实战1

  1. // 创建一个整型切片
  2. // 其长度和容量都是 5 个元素
  3. slice := make([]int, 5)

实战2

  1. // 创建一个整型切片
  2. // 其长度为 3 个元素,容量为 5 个元素
  3. slice := make([]int, 3, 5)

通过字面量创建切片

  1. // 创建字符串切片
  2. // 其长度和容量都是3个元素
  3. myStr := []string{"Jack", "Mark", "Nick"}
  4. // 创建一个整型切片
  5. // 其长度和容量都是4个元素
  6. myNum := []int{10, 20, 30, 40}

当使用切片字面量创建切片时,还可以设置初始长度和容量。要做的就是在初始化时给出所需的长度和容量作为索引。下面的语法展示了如何使用索引方式创建长度和容量都是 100 个元素的切片:

  1. // 创建字符串切片
  2. // 使用空字符串初始化第 100 个元素
  3. myStr := []string{99: ""}