![](/img/trans.png)
[英]Accessing Nested Map of Type map[string]interface{} in Golang
[英]how to append string to the map of string to interface type
我創建了一個到接口的字符串映射{}
x := make(map[string]interface{})
最終我需要以下輸出
x["key1"] = ["value1","value2","value3", ......]
任何人都可以幫忙,如何將字符串值附加到此地圖?
您只能附加到切片,而不能附加到地圖。
要添加您列出的值,請使用:
x["key"] = []string{"value1","value2","value3"}
fmt.Println(x)
如果"key"
已經存在,你可以使用類型斷言附加到它:
x["key"] = append(x["key"].([]string), "value4", "value5")
fmt.Println(x)
輸出(嘗試Go Playground上的示例):
map[key:[value1 value2 value3]]
map[key:[value1 value2 value3 value4 value5]]
注意:您必須重新分配新切片(由append()
返回)。
另請注意,如果"key"
尚未出現在地圖中或不是[]string
類型,則上述代碼將發生混亂。 為了防止這種恐慌,只有在值存在且類型為[]string
時才追加:
if s, ok := x["key"].([]string); ok {
x["key"] = append(s, "value4", "value5")
} else {
// Either missing or not []string
x["key"] = []string{"value4", "value5"}
}
在Go Playground上試試這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.