只要你能保证这些区域不会重叠,就可以了。
sliceAsliceA = append(sliceA, a, b, c)sliceB与此相关的是Go 1.2 的一些文档:这涉及一个新的语言元素:3-index slices:
Go 1.2 添加了在对现有数组或切片使用切片操作时指定容量和长度的功能。切片操作通过描述已创建数组或切片的连续部分来创建新切片:
var array [10]int slice := array[2:4]
切片的容量是切片可以容纳的最大元素数,即使在重新切片之后;它反映了底层数组的大小。在本例中,切片变量的容量为 8。
Go 1.2 添加了新语法以允许切片操作指定容量和长度。第二个冒号引入容量值,该值必须小于或等于源切片或数组的容量,根据原点进行调整。例如,
slice = array[2:4:7]
将切片设置为与前面的示例具有相同的长度,但它的容量现在只有 5 个元素 (7-2)。不可能使用这个新的切片值来访问原始数组的最后三个元素。
在这种三索引符号中,缺少的第一个索引 ([:i:j]) 默认为零,但必须始终明确指定其他两个索引。Go 的未来版本可能会为这些索引引入默认值。
更多细节在设计文件中。