结构体:
type MyStruct struct{
Age string
Name string
City string
......
}
数组:
arr := [ 25 李明 北京 ......]
我的赋值方式:
MyStruct.Age = arr[0]
MyStruct.Name = arr[1]
MyStruct.City = arr[2]
......
像这种数组顺序和结构体顺序一一对应的情况,有没有一种Go原生方法能便捷地进行赋值?
结构体:
type MyStruct struct{
Age string
Name string
City string
......
}
数组:
arr := [ 25 李明 北京 ......]
我的赋值方式:
MyStruct.Age = arr[0]
MyStruct.Name = arr[1]
MyStruct.City = arr[2]
......
像这种数组顺序和结构体顺序一一对应的情况,有没有一种Go原生方法能便捷地进行赋值?
这个应该能优雅些,但是效率差点
https://github.com/pkgng/stru...
type MyStruct struct {
structor.BaseStructor `structor:"alist"`
Age string `json:"age" structor:"alist[0]`
Name string `json:"name" structor:"alist[1]`
City string `json:"city" structor:"alist[2]`
}
使用reflect来做,
model := MyStruct{}
elem := reflect.ValueOf(&model).Elem()
for i, v := range argArr {
elem.Field(i).SetString(v)
}
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.3k 阅读
2 回答2.2k 阅读
1 回答2.1k 阅读
1 回答1.5k 阅读
并没有很优雅的方法。内置的json是使用反射,效率非常低,而且要使用map相对应,如下
你用的array,直接new对象,然后依次赋值,效率是最高的了。
也有可能是有其他我不知道的方法,期待高手