我有一个数组数组的数据。
data := [][]int{{1,2,3}, {4,5,6}}
和struct
type A struct { I, J, K int }
现在我想为结构A创建实例运行时,每个数组来自数据,我该如何实现?如果反射是一种方式,那么告诉如何?
这只是我想向您展示的一个例子。但是,如果结构A包含从A到Z的26个字段,其类型为int,并且我有100个数据片段,我可以从中创建/初始化我的结构A,那么如果不在结构上使用点表示法并且只是循环,它是如何可能的over field index并从切片数据中分配该字段?
package main
import (
"fmt"
)
type A struct {
I, J, K int
}
func main() {
data := [][]int{
{1, 2, 3},
{4, 3, 2},
}
var a A
// create instance of type A with params
// initialization for each array in data
fmt.Println(a)
}
请通过以下链接帮助我:https://play.golang.org/p/rYuoajn5Ln
答案 0 :(得分:0)
我不确定这是否是您要找的,但您可以在一个简单的循环中创建这些对象:
$valid = Validator::make($request->all(), [
//'name.2' => 'required',
'name[2]' => 'required',
]);
提供完整解决方案
答案 1 :(得分:0)
这是一个更紧凑的版本......
只是对数组“数组”数组进行测距,并从每个索引创建一个新的“A”。
无需在单独的功能中执行此操作。
for _, arr := range data {
a := A{I: arr[0], J: arr[1], K: arr[2]}
fmt.Println(a)
}