假设我有一个稀疏填充的切片,并希望通过索引读取/写入元素,该索引可能在切片的容量之外,也可能不在切片的容量之外。
当x可能超过容量时,写入s [x]的惯用方法是什么?
您需要检查x是否在切片的范围之外,如果是,则扩展切片(追加零或类似的东西)。没有神奇的捷径。要“扩展”切片,您可以执行以下操作:
x
a = append(a, make([]T, j)...)
其中a是切片,T是其内容的类型,j是你想要扩展它的多少。
a
T
j