我有一个函数,它接受值和字段的切片作为一组可选参数,并且该函数将每个值映射到一个字段并返回错误(如果有的话)给调用者,如下所示
func Unmarshall(source []interface{}, dest ...interface{}) error {
if len(source) != len(dest) {
return errors.New("source and destination doesn't match")
}
for i, s := range source {
dest[i] = s
}
return nil
}
在我为来电者提供的代码下方
for _, r := range rows.Values {
item := entity.Item{}
e :=Unmarshall(r,
&item.Name,
&item.Description,
&item.AddedUTCDatetime,
&item.ModifiedUTCDatetime)
if e == nil {
items = append(items, item)
}
}
但是上面的问题是即使我传入了指向字段的指针,也item.Name,item.Description, &item.AddedUTCDatetime, &item.ModifiedUTCDatetime不会保留中设置的值。Unmarshall func
上面的代码有什么问题吗?
温温酱
慕尼黑8549860
相关分类