見出し画像

golang iotaとは 使い方、注意点について解説

今回はgolangにおけるiotaについて解説していきます。


iotaとは

iotaとはconst宣言時に使用できる識別子で、連番の整数を割り当てることができます。

0から始まり、constブロック内での各定数宣言ごとに1ずつ増加します。各定数にユニークな値を自動的に割り当てるのに便利です。


iotaの使い方

実際にどのようにiotaを使うのか見ていきましょう。

const (
	X = iota
	Y = iota
	Z = iota
)

func main() {
	fmt.Println(X, Y, Z)
}

このように定数に全てiotaを入れることでX = 0、Y = 1 、Z = 2となります。

実行結果も0 1 2となります。

つまりやっていることは以下のコードと同じということになります。

const (
	X = 0
	Y = 1
	Z = 2
)

func main() {
	fmt.Println(X, Y, Z)
}

ちなみにiotaは定義を省略することもできます。

const (
	X = iota
	Y
	Z
)

func main() {
	fmt.Println(X, Y, Z)
}

定数の先頭にのみiotaを書いてあげることで後続の定数にはインクリメントされた値が入っていきます。

この実行結果も0 1 2となります。


Iotaを使う場面と使わない方がいいシーン

iotaはenum型定義時に利用されることがありますが、実際にはほとんど使われません。

値に意味がなくただの数字である場合はiotaを使うことができますが、実際には定数には意味がある値が使わわれることが多いためほとんど見かけません。


iotaの注意点

ブロックスコープ

iotaはconstブロック内でのみ有効なため、別のconstブロックが始まると、再び 0 から始まります。


自動増加


iotaは自動的に増加するので、定数の追加や削除があった場合に、他の定数の値に影響を与える可能性があります。


型の一貫性

iotaを使用する際には、すべての定数が同じ型に揃える必要があります。



golangをもっと詳しくなりたい方に

初めてのGo言語

Go言語の入門から応用まではこの一冊で網羅されています。説明も順序立てて説明されており完成度の高い参考書となっています。


詳解Go言語Webアプリケーション開発

こちらはGo言語の基礎知識を得たあとに読むことをすすめる本となっています。ハンズオン形式で手を動かしながら実装をしていくことができるため、実際の開発を意識しながらGo言語を学ぶことができます。

以下の記事では他にも筆者が実際に読んでおすすめしたい本をまとめています。


【Go入門】Golang基礎入門 + 各種ライブラリ + 簡単なTodoWebアプリケーション開発(Go言語)

まだGo言語の勉強を始めていない方、全くの初心者の方にはこちらのUdemy教材が最もおすすめです。

この教材ではgolangの基礎について網羅的に学ぶことができます。ただ見て学ぶだけでなく、講座の中でアプリ作成まで行うことで学んだことの理解をさらに深めることができます。


現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発

個人的に最も勉強になったのは「現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発」という教材です。
本格的なレクチャーに入る前に、なぜGoなのか、なぜFintechなのかについて説明されていることで、Goの概念や意味について大枠から理解することができます。

以下の記事では筆者が実際に受講したおすすめUdemy教材をまとめています。

※本ページではアフィリエイトリンク(PR)が含まれています


この記事が参加している募集

#この経験に学べ

55,057件

この記事が気に入ったらサポートをしてみませんか?