Go では、マップは定数ではありません。つまり、マップのキーと値のペアは作成後に変更できません。以下のスニペットに示すように、マップを定数として宣言し、その後そのマップを埋めようとすると、エラーが発生します。
const ( paths = &map[string]*map[string]string{ "Smith": { "theFather": "John", }, } paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior" )
定数は不変の値を表し、マップはGo の type では、キーと値のペアの変更は許可されていません。この仕様では、定数の宣言をブール定数、ルーン定数、整数、浮動小数点定数、複素数定数、文字列定数などの特定の型に制限しています。
これを解決するにはこの問題を解決するには、以下に示すように、マップを定数ではなく変数として宣言します。
var paths = map[string]*map[string]string{ "Smith": { "theFather": "John", }, } paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior"
以上がGo でマップを定数として宣言して変更できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。