Go言語の枚挙型の使い方は何ですか?

Go言語では、列挙型はconstキーワードを使用して定数グループを定義することで実現できます。Go言語自体には列挙型が存在しないが、定数グループを使用することで列挙効果を達成することができます。

定数グループを使用して列挙を実装する例を以下に示します。

package main

import "fmt"

const (
    Sunday    = iota // 0
    Monday           // 1
    Tuesday          // 2
    Wednesday        // 3
    Thursday         // 4
    Friday           // 5
    Saturday         // 6
)

func main() {
    day := Monday

    switch day {
    case Sunday:
        fmt.Println("Sunday")
    case Monday:
        fmt.Println("Monday")
    case Tuesday:
        fmt.Println("Tuesday")
    case Wednesday:
        fmt.Println("Wednesday")
    case Thursday:
        fmt.Println("Thursday")
    case Friday:
        fmt.Println("Friday")
    case Saturday:
        fmt.Println("Saturday")
    }
}

上記のコードでは、constキーワードを使用して定数グループを定義し、各定数はiotaを使って自動的に増加する値によって列挙されています。その後、main関数内でswitch文を使用して列挙値に基づいて、対応する曜日を出力する判断を行います。

基本的に、Go言語にはネイティブな列挙型がありませんが、定数グループを使用して列挙の効果を実現することができます。

bannerAds