我有两个一维数组,我希望将两个单个数组合并为一个带有追加的多维数组。
如何以最快的速度完成这项工作?
val time []int64
val value []float64
val 2darray [][]int64, float64
在go中追加是最好的方法吗?
答案 0 :(得分:0)
以下是一个如何完成的示例:
package main
import (
"fmt"
)
type TimeAndValue struct {
time int64
value float64
}
func main() {
times := []int64{0, 1, 2, 3, 4}
values := []float64{1.23, 2.34, 3.45, 4.56, 5.67}
timesAndValues := zip(times, values)
fmt.Println(timesAndValues)
}
func zip(ts []int64, vs []float64) []TimeAndValue {
if len(ts) != len(vs) {
panic("not same length")
}
var res []TimeAndValue
for i, t := range ts {
res = append(res, TimeAndValue{time: t, value: vs[i]})
}
return res
}