删除并向GO lang中的数组添加元素

fnaticRC ggwp:

我有2个数组声明为:var input []stringvar output []string

输入数组最初填充了一些ID。输出数组为NULL。

每次迭代后,我想从输入数组中删除一个随机元素,并将其添加到输出数组。

最后,输出数组中的所有元素都将与输入数组相同(但具有不同的排序(索引))。

for index := 0; index < len(input); index++ {
    if !visited[index] {
        //do something
    }
}
output[#iteration index] = input[current index]

当我尝试执行此操作时,我得到了array out of bounds error

传福音:

对于output阵列,您需要使用append或分配其初始容量以匹配的大小input

// before the loop
output := make([]string, len(input))

将是我的建议,因为append会导致大量不必要的重新分配,并且由于基于,您已经知道所需的容量input

另一件事是:

output = append(output, input[index])

但是就像我说的那样,从我观察到的内容来看,append的初始容量成倍增长。如果您未指定任何内容,则该值将以2为底,这意味着您将需要进行一些不需要的重新分配,然后才能达到所需的容量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不删除数组中已有元素的情况下向 PHP 数组添加元素?

在数组的开头添加元素,在numpy的末尾删除

在列表中添加元素会删除先前的元素

添加元素后,无法从元素中删除该类

添加到livedata中包含的列表中,并向该列表中添加元素

在列表列表中删除和添加元素

Python:创建空的pandas数据框,并向其列中动态添加元素

删除在XML中添加元素(删除元素时)时创建的空格

向列表中添加元素或从列表中删除元素(AngularJS)

xslt-向文本中添加元素,但删除之间的元素

在Go中删除MongoDB中的数组元素

如何在 C# 中的 CharArray 中删除和添加元素?

在Swift中向数组添加元素

在数组中添加元素

带有R中的venneuler的维恩图:从图中删除集合的名称并添加元素名称

在div中添加元素和按钮时,每个按钮如何将自身删除?

如何删除图例并向LightningChart js添加新图例?

在jQuery中创建数组并添加/删除元素

如何从请求中的数组添加/删除元素

如何删除jquery中的附加元素

为什么我可以在Kotlin中将MutableList实例化为val(并向其中添加元素)?

如何使用 XSLT 在 XML 中删除父元素并向上移动子元素

如何从 Crystal Lang 中的数组中删除特定元素?

在 kotlin 中初始化列表而不为 null 并向其添加元素。避免传统循环并定义要循环的列表长度

维护列表顺序的删除和添加元素

将删除按钮添加到附加元素

在关联数组中的元素内添加元素

在numpy数组python中的每个元素之后添加元素

Kotlin:MutableList中的java.lang.UnsupportedOperationException添加元素