Go Wiki: Iota

要約

Goのiota識別子は、インクリメントする数値の定義を簡素化するためにconst宣言で使用されます。式の中で使用できるため、単純な列挙型を超えた汎用性を提供します。

iotaの値は、ソースコードに予約語constが現れるたびに(つまり、各constブロックで)0にリセットされ、各ConstSpec(例えば、各行)の後に1ずつインクリメントされます。これは、定数名の後を省略する定数ショートハンドと組み合わせることで、関連する定数を非常に簡潔に定義することができます。

Iota: https://go.dokyumento.jp/ref/spec#Iota

定数宣言: https://go.dokyumento.jp/ref/spec#Constant_declarations

公式仕様には素晴らしい例が2つあります

https://go.dokyumento.jp/ref/spec#Iota

Effective Goからの例を1つ紹介します

type ByteSize float64

const (
    _           = iota // ignore first value by assigning to blank identifier
    KB ByteSize = 1 << (10 * iota)
    MB
    GB
    TB
    PB
    EB
    ZB
    YB
)

曜日の列挙型の例 - iotaがどのように計算されるか - Learn Go Programming Blogより

How iota works

記事


このコンテンツはGo Wikiの一部です。