Я пытаюсь создать общий метод в Go, который заполнит struct
, используя данные из map[string]interface{}
. Например, подпись и использование метода могут выглядеть так:
func FillStruct(data map[string]interface{}, result interface{}) {
...
}
type MyStruct struct {
Name string
Age int64
}
myData := make(map[string]interface{})
myData["Name"] = "Tony"
myData["Age"] = 23
result := &MyStruct{}
FillStruct(myData, result)
// result now has Name set to "Tony" and Age set to 23
Я знаю, что это можно сделать с помощью JSON в качестве посредника; есть ли еще более эффективный способ сделать это?