在 Go 中,對映不是常數,這表示它們的鍵值對在建立後無法修改。嘗試將映射聲明為常數並隨後填充它(如下面的程式碼片段所示)將導致錯誤:
const ( paths = &map[string]*map[string]string{ "Smith": { "theFather": "John", }, } paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior" )
常數表示不可變值,而映射Go 中的type 不允許修改鍵值對。規範將常數宣告限制為特定類型,包括布林、符文、整數、浮點、複數和字串常數。
解決此問題問題,將map宣告為變數而不是常數,如下所示:
var paths = map[string]*map[string]string{ "Smith": { "theFather": "John", }, } paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior"
以上是為什麼我不能將 Map 宣告為常數並在 Go 中修改它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!