9.8 切片型

切片类型是Go中的另一类复合类型,由其他类型构建。切片是在基础数组上定义的,它表示该数组的连续段。切片类型表示其元素类型的所有数组的所有可能的切片的集合。

切片在初始化后始终与保存其元素的基础数组相关联。因此,切片与其数组和同一数组的其他切片共享存储。

切片s中的元素数量称为其长度len(s)。可以通过对a的切片s来访问数组a的元素,例如使用s:=a[:]。整数索引从0到len(s)-1。

在这个例子中,基础数组的长度被称为切片的容量。一般来说,对数组的切片的容量可以等于或小于基础数组的长度。

稍后将讨论切片的索引和切片操作。

可以使用空的方括号对来定义切片类型。例如:

type s1 []string

基于匿名切片类型[]string定义了命名类型s1。注意,[]string类型表示元素类型为string的所有不同数组类型的所有可能的切片,包括[10]string,[100]string等。

var i1 []int

在这个例子中,变量i1是[]int切片类型。切片类型的未初始化变量的值为nil。

最后更新于