在 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 表示结束下标(不包含)。

需要注意的是,切片是一个引用类型,不存储数据,只是底层数组的一个引用。对切片的修改会直接影响到底层数组。