広告スペース(バナー)
🐹Go レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 41 / 68

Enum(列挙型)の基本(iota)

このレッスンでは、GoのEnum(列挙型)をiotaで実現する基本を学び、決まった選択肢を分かりやすい名前で扱えるようになることを目標にします。「Go言語 iota 使い方」で調べている方向けです。

Goには専用のEnum構文はありませんが、iotaを使うと連番の定数をまとめて定義でき、「列挙型」を再現できます。「信号機は赤・青・黄しかない」ように、値の種類をあらかじめ限定したいときに使います。

サンプルコードでは、const (Red Color = iota; Green; Blue)という形で連番の定数を定義し、func (c Color) String() stringメソッドを実装することで、数値ではなく「Red」のような名前で表示できるようにしています。

初心者がよくつまずくのが、iotaが実は連番の整数値を自動生成しているだけという内部の仕組みです。数字を直接書くよりも名前のついた定数を使う方が、コードの意図が伝わりやすくタイプミスも防げます。

実際の開発現場では、型の安全性を保ったまま名前付き定数を扱えるのが、iotaを使ったこの書き方の利点として活用されています。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではGoを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
信号機の色のように、決まった選択肢だけを安全に扱えるようになります。
広告スペース(バナー)
広告スペース(記事内)