Arrays 如何从循环中填充变量参数
对于下面的示例,我需要从一个文件中读取值,没有问题,并将其作为数据点放入方法func r*Regression trand…*dataPoint中。这项工作:Arrays 如何从循环中填充变量参数,arrays,go,variadic-functions,Arrays,Go,Variadic Functions,对于下面的示例,我需要从一个文件中读取值,没有问题,并将其作为数据点放入方法func r*Regression trand…*dataPoint中。这项工作: r.Train( regression.DataPoint(1, []float64{1, 1, 1}), regression.DataPoint(4, []float64{2, 2, 2}), regression.DataPoint(9, []float64{3, 3, 3}), ) 但我想把它从这样一个循
r.Train(
regression.DataPoint(1, []float64{1, 1, 1}),
regression.DataPoint(4, []float64{2, 2, 2}),
regression.DataPoint(9, []float64{3, 3, 3}),
)
但我想把它从这样一个循环中放出来:
for i := 1; i <= 4; i++ {
??? regression.DataPoint(i*i, []float64{i, i, i}), ???
}
我不能使用数据点数组,因为它只在该包中可见。以下是完整的源代码:
参见示例用法
多谢各位
Maciej来自您链接的页面:
Note: You can also add data points one by one.
因此,您需要:
for i := 1; i <= 4; i++ {
r.Train(regression.DataPoint(i*i, []float64{i, i, i}))
}
@Milo的答案可能最适合您的特定情况,但对于具有可变函数的一般情况,您可以将元素附加到切片,然后将切片用作可变参数列表:
r.Train(points...)
不幸的是,回归库的设计不是很好,因为它公开了接收和返回未公开类型的函数,这使您无法使用它们