ホームページ >バックエンド開発 >Golang >なぜ golang には列挙がないのでしょうか?

なぜ golang には列挙がないのでしょうか?

(*-*)浩
(*-*)浩オリジナル
2019-12-31 10:59:314236ブラウズ

なぜ golang には列挙がないのでしょうか?

C# や Java などの高級言語では、状態などを表すために列挙型がよく使用されます。

golang には列挙型がありません。const を使用して列挙型をシミュレートできます。 (推奨学習: go)

列挙では、Integer、Long、Short、Byte のいずれかのデータ型に基づいて新しい型の変数を作成できます。このような変数は、定義されたセットの 1 つに設定できるため、ユーザーが無効な値を指定することを効果的に防止できます。この変数は特定の値を説明するため、コードがより明確になります。

type PolicyType int32const (
    Policy_MIN      PolicyType = 0
    Policy_MAX      PolicyType = 1
    Policy_MID      PolicyType = 2
    Policy_AVG      PolicyType = 3)
}

ここでは新しいタイプ PolicyType が定義されており、4 つの定数 (Policy_MIN、Policy_MAX、Policy_MID、Policy_AVG) が定義されています。

使用例

func foo(p PolicyType) {
    fmt.Printf("enum value: %v\n", p)}func main() {
    foo(Policy_MAX)}

実行結果

$ go build && ./main
enum value: 1

以上がなぜ golang には列挙がないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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