Go 切片
Go切片(Slice)是对Go数组的抽象。Go数组允许您定义可以容纳多个相同种类的数据项的变量,但它不提供任何内置方法来动态增加其大小或获取自身的子数组。切片克服了这个限制。它提供了许多在数组上所需的实用功能,并在Go编程中广泛使用。
定义一个切片
要定义一个切片,可以将其声明为一个没有指定大小的数组。或者,可以使用 make 函数创建一个切片。
len()和cap()函数
切片是对数组的一种抽象方式。实际上,它使用数组作为底层结构。len()函数返回切片中的元素数量,而cap()函数返回切片的容量(即能够容纳多少元素)。以下示例解释了切片的用法 –
当上述代码被编译并执行时,会产生以下结果 –
空切片
如果一个切片没有输入,那么默认情况下,它会被初始化为nil。它的长度和容量都是零。例如 −
当上述代码被编译和执行时,它产生以下结果−
子切片
切片允许指定下限和上限来获取其子切片,使用 [下限:上限] 。例如:
当上述代码被编译和执行时,它产生以下结果−
append()和copy()函数
可以使用 append() 函数增加slice的容量。使用 copy() 函数,将源slice的内容复制到目标slice。例如 –
当上述代码被编译并执行时,会产生如下结果−