Golang面试字符串、数组、切片知识( 二 )

在某些情况下 , 我们可以简单地对新切片进行操作,创建新的更大的切片; 将原始切片的内容复制到其中; 将旧切片分配给新切片 。
对切片操作Copy和 Append 两个内置函数:
Slice Copy格式 , 在切片的末尾附加新元素 , 如果需要更大的容量 , 则增大切片 。
copy(destination, source []T) intSlice Copy实例 , 让我们创建slice并增加其容量 。
s := []int{1,2,3}// creates slice s == [1 2 3]t := make([]int, len(s), cap(s)*2)// creates new slice t, filled// with zero-values (0s for// int), of specified length// and capacitycopy(t, s)s = t// cap(s) == 3// cap(t) == 6Slice Append 格式
append(slice []Type, elements...Type) []TypeSlice Append实例 , 让我们将一个切片附加到另一个切片上 , 甚至不用担心其容量
【Golang面试字符串、数组、切片知识】a := []string{"a", "b", "c"}b := []string{"x", "y", "z"}a = append(a,b...) // equivalent to "append(a, b[0], b[1], b[2])"//let's print it!fmt.Printf("%d %v", cap(a), a)// 6 [a b c x y z]