为什么 golang reflect.MakeSlice 返回不可寻址的值

检查下面的代码段:

http://play.golang.org/p/xusdITxgT-

为什么会这样?因为我的论点之一必须是切片地址。

可能我没有跟大家说清楚。

collection.Find(bson.M{}).All(&result)

上面的代码就是为什么我需要一个切片地址。

这里的结果变量正是我所需要的。现在通常我可以这样做

result := make([]SomeStruct, 10, 10)

但是现在 SomeStruct 是动态的,我需要使用reflect.MakeSlice 创建切片,所以

result := reflect.MakeSlice(reflect.SliceOf(SomeType))

它的错误在于:结果必须是切片地址。


慕妹3242003
浏览 288回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go