簡體   English   中英

如何使用地圖分配結構類型值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM