Go言語には、C言語やJavaにおける「enum(列挙型)」のような機能がありません。 Go言語をやり始めて最初にこれを知った時、 え嘘でしょ? と言いたくなりました。 が、実際には 定数定義とiotaを利用することでC言語における列挙型に近い振る舞いを実現することが可能です。 例えば、Red, Blue, Yellowを持つColorというenumを作る場合は以下のように定義します。 type Color int const ( Red Color = iota Blue Yellow ) で、iotaって何ですかって話なんですが。 識別子iotaは、定数宣言文(const)内で使用される、型なしの連続する整数定数を表します。 本定数は予約語constが現れた時に0に初期化されて、各定数定義の後に1ずつインクリメントされます。 ちなみに読み方は「イオタ」。 例えば、iotaを使って定数(