在Go语言中,切片(slice)是一个长度可变的序列,它的底层是一个数组。初始化切片有以下几种方法:
- 使用
make
函数创建一个切片,指定切片的长度(len)和容量(cap):
package main import "fmt" func main() { // 创建一个长度为3,容量为5的切片 slice := make([]int, 3, 5) fmt.Println(slice) // 输出: [0 0 0] }
- 使用字面量创建一个切片,指定切片的元素类型和初始值:
package main import "fmt" func main() { // 创建一个包含3个元素的切片,初始值分别为1、2、3 slice := []int{1, 2, 3} fmt.Println(slice) // 输出: [1 2 3] }
- 使用
make
函数创建一个空切片,然后使用append
函数向切片中添加元素:
package main import "fmt" func main() { // 创建一个空切片 slice := make([]int, 0) // 向切片中添加元素 slice = append(slice, 1) slice = append(slice, 2) slice = append(slice, 3) fmt.Println(slice) // 输出: [1 2 3] }
- 使用字面量创建一个空切片,然后使用索引赋值的方式初始化切片元素:
package main import "fmt" func main() { // 创建一个空切片 slice := []int{} // 使用索引赋值的方式初始化切片元素 slice[0] = 1 slice[1] = 2 slice[2] = 3 fmt.Println(slice) // 输出: [1 2 3] }
注意:在使用索引赋值的方式初始化切片元素时,切片的容量必须足够大,否则会导致运行时错误(index out of range)。