09. Slice 切片
00 分钟
2022-8-26
Slice是Go中一个重要的数据类型,它提供了比数组更强大的序列交互方式。
 
与数组不同,slice的类型仅由它所包含的元素的类型决定(与元素个数无关)。要创建一个长度不为0的空slice需要使用内建函数make。这里我们创建了一个长度为3的string类型的slice(初始值为零值)。
 
我们可以和数组一样设置和得到值
 
 
 
len返回slice的长度
 
除了基本操作外,slice支持比数组更丰富的操作。比如slice支持内建函数append,该函数会返回一个包含了一个或者多个新值的slice。注意由于append可能返回一个新的slice,我们需要接收其返回值
 
slice还可以copy。这里我们创建一个空的和s有相同长度的slice—c,然后将s复制给c。
 
slice支持通过slice[low:high]语法进行“切片”操作。例如,右边的操作可以得到一个包含元素s[2]、s[3]和s[4]的slice。
 
这个slice包含从s[0]到s[5](不包含5)的元素。
 
这个slice包含从s[2](包含2)之后的元素。
 
我们可以在一行代码中声明并初始化一个slice变量
 
slice可以组成多为数组结构。内部的slice长度可以不一致,这一点和多为数组不同。
 
 
 
 
 
 
 
 
注意,slice和数组是不同的类型,但他们通过fmt.Println打印的输出结果是类似的。
 
 
 
 
 
 
 
 
结果如下:
上一篇:
08. 数组
下一篇:
10. Map
 

评论