0
我有以下方法:接口转换到另一个和复制内容
func ValidateParam(conf map[string]interface{}, paramName string, out interface{}) error {
param, ok := conf[paramName]
if !ok {
return errors.New("some error")
}
// ...
}
我想能够调用它像这样:
myVar := "some text"
err := ValidateParam(conf, "my_var_param", &myVar)
myOtherVar := &MyStruct{}
err := ValidateParam(conf, "my_struct_param", myOtherVar)
的理念是:
- 获取参数使用
conf
地图 - 检查这个PARAM可以使用PARAM
被转换成相同的类型out
out
=>它是一种相同的过程作为json.Unmarshal(data, &myVar)
或与MgO的操作的方式查询时query.Collection("col").One(&myVar)
我可以找不到如何做到这一点,任何帮助都不会受到欢迎。
干杯