幸运的是 slice(切片)可以帮我们处理好这些问题,来一起看看。slice 是一种可以动态数组,可以按我们的希望增长和收缩。它的增长操作很容易使用,因为有内建的 append 方法。因为 slice 的底层内存是连续分配的,所以 slice 的索引,迭代和垃圾回收性能都很好。slice 是对底层数组的抽象和控制。我们可以分别指定长度和容量:不允许创建长度大于容量的 slice:惯用的创建 slice 的方法是使用 slice 字面量。当我们想要表示一个并不存在的 slice 时它变得非常有用,比如一个返回 slice 的函数中发生异常的时候。一个 slice 只能访问它长度范围内的索引,试图访问超出长度范围的索引会产生一个运行时错误。使用 append 方法时我们需要一个源 slice 和需要附加到它里面的值。如果想得到每个元素的真是地址可以使用 &slice[index]。
暂无评论