在struct(Golang)中编写数组

时间:2017-10-28 16:04:15

标签: arrays go struct

我一直在使用"测试"编写测试用例。 Golang包。而且我遇到过必须将数组和函数指针写入表格的情况。

我试过以下:

type myFunctionType func( []float64, []float64 ) float64
var testMatrix = []struct {
    dataX []float64
    dataY []float64
    result float64
    myFunction myFunctionType
} {
{ {2, 3}, {8, 7}, 1, doMagicOne},
  {2, 3}, {8, 7}, 1, doMagicTwo},
}

但每次我最终都会收到以下错误或其他错误:

  

复合文字中缺少类型

上面的任何输入?提前谢谢。

1 个答案:

答案 0 :(得分:2)

您报告的错误是由于数组中的数组之前缺少类型声明引起的。错误:

  

复合文字中缺少类型

指的是你声明中的这一点:

{2, 3}

需要指定数组的类型:

[]float64{2, 3}

所以你需要:

var testMatrix = []struct {
    dataX      []float64
    dataY      []float64
    result     float64
    myFunction myFunctionType
}{
    {[]float64{2, 3}, []float64{8, 7}, 1, doMagicOne},
    {[]float64{2, 3}, []float64{8, 7}, 1, doMagicTwo},
}

https://play.golang.org/p/AguxDJ11HS