1. ホーム
  2. go

[解決済み] Golangで定数mapを宣言するには?

2022-03-13 02:12:24

質問

Goで定数を宣言しようとしているのですが、エラーが出ます。どなたか、Goで定数を宣言する構文について教えてください。

これは私のコードです。

const romanNumeralDict map[int]string = {
  1000: "M",
  900 : "CM",
  500 : "D",
  400 : "CD",
  100 : "C",
  90  : "XC",
  50  : "L",
  40  : "XL",
  10  : "X",
  9   : "IX",
  5   : "V",
  4   : "IV",
  1   : "I",
}

これはエラーです

# command-line-arguments
./Roman_Numerals.go:9: syntax error: unexpected {

解決方法は?

構文が正しくありません。 リテラルマップを作るには(擬似定数として)、次のようにします。

var romanNumeralDict = map[int]string{
  1000: "M",
  900 : "CM",
  500 : "D",
  400 : "CD",
  100 : "C",
  90  : "XC",
  50  : "L",
  40  : "XL",
  10  : "X",
  9   : "IX",
  5   : "V",
  4   : "IV",
  1   : "I",
}

の中には func のように宣言すればよい。

romanNumeralDict := map[int]string{
...

また、Goでは定数マップというものは存在しません。 より詳しい情報は こちら .

Goのプレイグラウンドで試してみてください。