Google app engine 将reflect.Value传递到Google应用程序引擎中的datastore.GetMulti

Google app engine 将reflect.Value传递到Google应用程序引擎中的datastore.GetMulti,google-app-engine,go,Google App Engine,Go,我有一个包装函数mypkg.GetStart。包装器函数的参数必须与appengine.GetMulti相同。为了这个例子,我想得到dst的前两个实体。我的代码目前如下所示,但不起作用数据存储。GetMulti生成错误数据存储:dst的类型无效 type myEntity struct { Val Int } keys := []*datastore.Key{keyOne, keyTwo, keyThree} entities := make([]myEntity, 3) mypkg.

我有一个包装函数
mypkg.GetStart
。包装器函数的参数必须与
appengine.GetMulti
相同。为了这个例子,我想得到
dst
的前两个实体。我的代码目前如下所示,但不起作用<代码>数据存储。GetMulti生成错误
数据存储:dst的类型无效

type myEntity struct {
    Val Int
}

keys := []*datastore.Key{keyOne, keyTwo, keyThree}
entities := make([]myEntity, 3)
mypkg.GetStart(c, keys, enities)
我的
mypkg.GetStart
代码如下:

func GetStart(c appengine.Context, keys []*datastore.Key, dst interface{}) error{
    v := reflect.ValueOf(dst)
    dstSlice := v.Slice(0, 2)
    return datastore.GetMulti(c, keys, dstSlice)
}

我怎样才能做到这一点?注意:这是对

的后续问题,我通过将
Interface()
添加到
dstSlice
,实现了这一点:

func GetStart(c appengine.Context, keys []*datastore.Key, dst interface{}) error{
    v := reflect.ValueOf(dst)
    dstSlice := v.Slice(0, 2)
    return datastore.GetMulti(c, keys, dstSlice.Interface())
}