我有
arr := [][]int32 {{1,2,3} ,{4,5,6}, {7,8,9}}
我想要
newArr := []int32 {1,2,3,4,5,6,7,8,9}
在JS中我可以做
arr1d = [].concat(...arr2d);
作为this
等许多简单方法之一在Go中有这样的东西吗?
答案 0 :(得分:2)
Go具有strings.Join
和bytes.Join
,但是没有通用功能来加入/合并切片。 once generics are introduced into the language这种功能可能会添加到标准库中。
与此同时,使用循环进行此操作非常清晰简洁。
var newArr []int32
for _, a := range arr {
newArr = append(newArr, a...)
}
答案 1 :(得分:-1)
我不会添加任何新内容,因为我的答案是Eli代码的副本。但是我应该指出,Go proposal比C / C ++更简单,但没有Python / JS那样简单。它并没有隐藏一个成本高昂的“魔术”电话。