Go

【Go】iota

Goのiotaについて説明します。

ポイント

iotaのポイントは以下の通りです。

  • 定数定義内で整数の連番を生成する。
  • 整数の連番は0から開始される。
  • iota という識別子を使用する。
  • 定数定義内の定数の出現に応じて連番が1インクリメントされる。
  • 新しい定数定義を行うとiotaの連番はリセットされる。

基本

定数定義の中の定数に対してiotaという識別子を使用します。
iotaは定数定義内の定数の出現に応じて連番が1インクリメントされます。
連番は0から開始されることが分かります。

package main

import (
	"fmt"
)

const (
	zero = iota
	one= iota
	two
)

func main() {
	fmt.Println(zero)  // 0 が表示される
	fmt.Println(one)  // 1 が表示される
	fmt.Println(two)  // 2 が表示される
}

なお定数 two のように直前に定数定義した内容は省略する事ができます。

iotaの連番リセット

新しく定数定義を行うと、iotaの連番がリセットされます。

package main

import (
	"fmt"
)

const (
	zero = iota
	one= iota
	two
)

// 新しく定数定義
const (
	reset = iota
)

func main() {
	fmt.Println(zero)  // 0 が表示される
	fmt.Println(one)  // 1 が表示される
	fmt.Println(two)  // 2 が表示される
	fmt.Println(reset)  // 0 が表示される
}

式の利用

定数定義する際にiotaを式に利用できます。

package main

import (
	"fmt"
)

const (
	zero = iota + iota
	one
	two
)

func main() {
	fmt.Println(zero) // 0 が表示される
	fmt.Println(one) // 2 が表示される
	fmt.Println(two) // 4 が表示される
}

コメントを残す

メールアドレスが公開されることはありません。

© DeNnie.Lab All Rights Reserved.