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

Nested map of slices does not work inside a function

我正在尝试创建一个切片图,并且我有以下有效的代码。

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"},
        }
    }
}

我收到以下错误: 语法错误:意外 :=,应为逗号或 } var 声明中的额外表达式 语法错误:意外:在语句结尾

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

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"},
        },
    }
}