将(通过索引)写入切片中的索引元素之外的惯用方法是什么?

问题描述 投票:-4回答:1

假设我有一个稀疏填充的切片,并希望通过索引读取/写入元素,该索引可能在切片的容量之外,也可能不在切片的容量之外。

当x可能超过容量时,写入s [x]的惯用方法是什么?

go slice allocation indexoutofrangeexception
1个回答
1
投票

您需要检查x是否在切片的范围之外,如果是,则扩展切片(追加零或类似的东西)。没有神奇的捷径。要“扩展”切片,您可以执行以下操作:

a = append(a, make([]T, j)...)

其中a是切片,T是其内容的类型,j是你想要扩展它的多少。

© www.soinside.com 2019 - 2024. All rights reserved.