将地图附加到Go中的地图

时间:2012-09-20 05:44:46

标签: go

我正在尝试构建一个map [string] map [string]字符串,它看起来像这样:

{ "notes": 
    {
    "Title":note.Title,
    "Body":note.Body,
    },
    {
    "Title":note.Title,
    "Body":note.Body,
    },
    {
    "Title":note.Title,
    "Body":note.Body,
    },
}

来自结构的结构(注释)(注释)

我想过这样做:

for _, note := range notes {
        thisNote := map[string]string{
            "Title":note.Title,
            "Body":note.Body,
        }

        content["notes"] = append(content["notes"], thisNote)
}

但显然这不起作用,因为我试图将地图附加到地图而不是切片。

我缺少一个非常简单的解决方案吗?

2 个答案:

答案 0 :(得分:2)

感谢Running Wild获得了这个答案,但它是在评论中,但我想我会在这里为任何想要做同样事情的人添加它。

问题是我需要制作map[string][]map[string]string而不是map[string]map[string]string

答案 1 :(得分:1)

我很确定你可以使用这样的结构,因为小胡子会以interface{}

的形式接收数据
func handler(w http.ResponseWriter, r *http.Request) {
    var data struct {
        Notes []*Note
    }

    notes := ...
    data.Notes = notes
    tmpl := ...
    templ.Render(data, w)
}