ホームページ >バックエンド開発 >Golang >Golang で定数マップを宣言できないのはなぜですか?

Golang で定数マップを宣言できないのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-14 20:48:021010ブラウズ

Why can't I declare a constant map in Golang?

エラー: 定数マップに対する Golang の制限

Golang では、次のような定数マップを宣言しようとするとエラーが発生します:

const (
    running = map[string]string{
        "one": "ONE",
        "two": "TWO",
    }
)

制限の理由

このエラーは、Golang が定数値を特定の型に制限していることが原因で発生します。言語仕様によると、定数として宣言できるのは次のものだけです:

  • Rune
  • Integer
  • Floating-point
  • Imaginary
  • 文字列
  • 定数を表す識別子
  • 定数式
  • 組み込み関数の結果値 (例: unsafe.Sizeof、cap、len、real、imag) 、複合体)

マップの性質

配列、スライス、およびマップは、定数に許可される型のこのリストには含まれていません。マップはインデックス付きの構造を持っているため、配列やスライスに似ているように見えますが、数値型とみなされないため、定数として宣言できません。

以上がGolang で定数マップを宣言できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。