检查下面的代码段:
为什么会这样?因为我的论点之一必须是切片地址。
可能我没有跟大家说清楚。
collection.Find(bson.M{}).All(&result)
上面的代码就是为什么我需要一个切片地址。
这里的结果变量正是我所需要的。现在通常我可以这样做
result := make([]SomeStruct, 10, 10)
但是现在 SomeStruct 是动态的,我需要使用reflect.MakeSlice 创建切片,所以
result := reflect.MakeSlice(reflect.SliceOf(SomeType))
它的错误在于:结果必须是切片地址。