2016-07-26 119 views
-1

我正在嘗試創建切片的映射,並且具有以下可用的代碼。切片的嵌套映射在函數內部不起作用

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聲明 額外的表達語法錯誤:意外:在語句結尾

我是一個新手去所以不知道是否有明顯的答案,但任何幫助表示讚賞。

回答

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

謝謝,我已經糾正了它,雖然我仍然產生相同的3個錯誤:( – stucklen

+0

我編輯的代碼再次檢查 – abhink

+0

。真棒,它有點現在只是一個更多的錯誤:不能使用map [字符串] []字符串文字(類型映射[字符串] []字符串)作爲類型映射字符串字段值。地圖? – stucklen