3 回答
TA贡献1802条经验 获得超5个赞
我认为您不需要地图。据我了解,在GetAll之后,您有两个平行的片,键和a。(我不知道GAE,但是_引起了我的注意。您应该检查一下吗?)模板可以处理并行数组。在文档中查看range操作如何返回两个结果,即value和and index。您应该能够跨一个切片,并使用索引从另一个切片中获取相应的值。这将是一个更复杂的模板,但应该让您避开地图。
编辑:对不起,我以为我知道该怎么做,但是在尝试编写示例时失败了。如果有人知道如何做,我将其留在这里,否则,请投票...
TA贡献1780条经验 获得超5个赞
也许您可以将嵌入到Key中Article。您仍然必须遍历文章和键,但至少不必创建单独的地图。
type Article struct {
// Add a key to the struct, but prevent it from being saved to the datastore.
Key datastore.Key `datastore:"-"`
}
// Query
q := datastore.NewQuery("Article").Limit(10)
// Define array where the entities will be retreived
var a[] Article
// Retreive entities
key, _ := q.GetAll(c, &a)
// Loop through the articles adding the key as you go.
for i := range a {
a[i].Key = key[i]
}
template.Execute(w, map[string]interface{} { "Articles" : a})
然后在您的模板中,您将调用 article.Key.Encode
- 3 回答
- 0 关注
- 214 浏览
添加回答
举报