切片的嵌套映射在函数内部不起作用

时间:2016-07-26 09:24:57

标签: arrays go nested maps slice

我正在尝试创建切片地图,并且我有以下代码可以使用。

StringMap := map[string][]string{
    "numbers": []string{"1", "2"},
    "programs": []string{"red"},
}

但如果我把它放在这个函数中:

func RenderContents(responseWriter http.ResponseWriter) {
    var page Model.Page = Model.Page {
        TemplateFilename: "template.html",
        StringMap := map[string][]string{
           "numbers": []string{"1", "2"},
           "programs": []string{"red"},
        }
    }
}

我收到以下错误: 语法错误:unexpected:=,期待逗号或} var声明中的额外表达式 语法错误:意外:在语句结束时

我是Go的新手,所以不确定是否有明显的答案,但感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

StringMap声明结尾处缺少逗号。此外,您正在使用:=进行StringMap初始化。它应该是:,因为初始化是针对地图键的:

func RenderContents(responseWriter http.ResponseWriter) {
    var page Model.Page = Model.Page {
        TemplateFilename: "template.html",
        StringMap: map[string][]string{
           "numbers": []string{"1", "2"},
           "programs": []string{"red"},
        },
    }
}