首頁 > 後端開發 > Golang > 為什麼我不能將 Map 宣告為常數並在 Go 中修改它?

為什麼我不能將 Map 宣告為常數並在 Go 中修改它?

Mary-Kate Olsen
發布: 2024-11-14 14:22:02
原創
391 人瀏覽過

Why Can't I Declare a Map as a Constant and Modify It in Go?

將映射宣告並修改為常數

在 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板