在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)。