在 Go 语言中,切片是一个动态数组,可以根据需要自动扩容。切片的定义和初始化方式如下:
1、定义一个切片变量:
var s []int
2、使用 make 函数初始化一个切片:
s := make([]int, length, capacity)
其中,length 表示切片的长度,capacity 表示底层数组的容量。如果不指定 capacity,则默认和 length 相同。
3、直接初始化一个切片,使用以下语法:
s := []int{1, 2, 3}
这种方式会自动根据初始化的元素数量分配底层数组的长度和容量。
4、从数组或其他切片中创建一个新的切片,使用以下语法:
s := array[start:end]
s := slice[start:end]
其中,start 表示起始下标,end 表示结束下标(不包含)。
需要注意的是,切片是一个引用类型,不存储数据,只是底层数组的一个引用。对切片的修改会直接影响到底层数组。