🔥

[1分学習]Go言語のiota編

2021/02/18に公開

はじめに

こんにちは、Rabeeです。

iotaってなに?

constant宣言で利用できる識別子で、
呼び出す度に値がインクリメントされる型なしint(untyped int)を返します。

使い方

  • 基本1
const (
    A = iota // 0
    B = iota // 1
    C = iota // 2
)
  • 基本2: const内では直前の代入が繰り返されることを利用して以下のように定義も可能
const (
    A = iota  // 0
    B         // 1
    C         // 2
)
  • 応用1: 始まりの数字を変えたい
const (
    A = 1 + iota
    B = 1 + iota
    C = 1 + iota
)
  • 応用2: 型を指定する
const (
    A float64 = iota * 0.1 // 0.1 
)

利用箇所

業務で使ったことないのですが、enum型定義に利用されるという説明を見かけますね。
enum風定義ははマジックナンバーになるのを避けるために文字列を利用するようにしているので、
一般的なiotaの利用頻度が気になるところです。

Discussion