2017-03-01 4 views
0

ちょうど...なぜこれはエラーを生成しますか? 拡張子を許可するためにマップを再割り当てするか、またはコンパイラパーサがこれらのケースを処理するためのものではないためですか?constでマップを宣言して記入できないのはなぜですか?

const (
     paths = &map[string]*map[string]string { 
      Smith: { 
       "theFather": "John", 
      }, 
     } 
     paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior" 
) 

答えて

2

Constantsが理由で定数をと呼ばれています。定数:あなたは彼らがちょうどそのことを期待しています。

タイプは、そのタイプの値に対して実行できる操作を定義します。 Go内のmapタイプは定数ではありません。作成後にそのキーと値のペアを変更できるので、mapの定数を持つことはできません。

仕様で定義されているから定数を選択するあなたの「パレット」:定数:

ブール定数ルーンは定数、整数定数、浮動小数点定数がありますが、 複素定数および文字列定数

は、関連の質問を参照してください:Declare a constant array

回避策は単純です:それは、変数の代わりに、一定になるように宣言します。

+0

私に確認を与えてくれてありがとう、それは私がやったことです。 ありがとうございます。 – MrBouh

関連する問題