[英]How can I assign a Struct Type value using a map?
我想創建一個多維數組,如下所示:
[string][int] = Struct
我寫了以下代碼塊。 當我嘗試為映射分配 Struct 類型時,出現以下錯誤:
不能在賦值中使用 event (type *models.Event) 作為類型 map[int]models.Event
下面是代碼塊:
//Get func
func (c *EventController) Get() {
days := [7]string{"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}
m := make(map[string][]map[int]models.Event)
for _, day := range days {
var i = 0
o := orm.NewOrm()
qs := o.QueryTable("events")
qs.OrderBy("id")
qs.Filter("days__name", day)
var events []*models.Event
num, err := o.QueryTable("events").RelatedSel().All(&events)
if err == nil {
fmt.Printf("%d events read\n", num)
for _, event := range events {
m[day][i] = event
i++
}
} else {
fmt.Println(err)
}
}
c.Data["json"] = m
// c.TplName = "events.tpl"
c.ServeJSON()
}
這里有什么問題?
正如 Marc 定義的那樣,我更新了代碼塊,如下所示。 現在它完美無缺!
//Get func func (c *EventController) Get() { days := [7]string{"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"} m := make(map[string][]*models.Event) for _, day := range days { o := orm.NewOrm() var events []*models.Event num, err := o.QueryTable("events").Filter("day__name__exact", day).RelatedSel().All(&events) fmt.Print("Day: ", day, " Count:", num, "\\n") if err != nil { fmt.Printf("%d posts read\\n", num) } m[day] = events } c.Data["json"] = m // c.TplName = "events.tpl" c.ServeJSON() }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.