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言語にはネイティブな列挙型がありませんが、定数グループを使用して列挙の効果を実現することができます。