go 1d array结合2d数组和append

时间:2017-05-06 01:55:50

标签: arrays go multidimensional-array

我有两个一维数组,我希望将两个单个数组合并为一个带有追加的多维数组。

如何以最快的速度完成这项工作?

val time []int64
val value []float64

val 2darray [][]int64, float64

在go中追加是最好的方法吗?

1 个答案:

答案 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
}

https://play.golang.org/p/1OWJ1HG1XL