常量声明const,多个常量名同时申明时,如果后面不与前面相同,则会与前面的类型和值相同,例

func main() {
	const (
		a = 99
		b
		c
	)
	println(a, b, c)
}

输出结果:

99 99 99

iota 计数器

自动递增,默认为0

func main() {
	const a = iota // a = 0
	println(a)

	const (
		b = iota    //0
		c             //1
		d             //2
	)

	println(b, c, d)

}

输出

0
0 1 2

跳过值:

func main() {
	const (
		b = iota
		_
		c
		d
	)
	println(b, c, d)
}

输出

0 2 3

插队

func main() {
	const (
		b = iota //0
		e = 100  //100
		c = iota //2
		d        //3
	)
	println(b, e, c, d)
}

多个iota定义

func main() {
	const (
		b, c = iota + 1, iota + 2
		d, e
		f, g
	)
	println(b, c, d, e, f, g)
}

输出:

1 2 2 3 3 4

初始值定义

func main() {
	const (
		b = iota + 100
		c
		d
		e
		f
		g
	)
	println(b, c, d, e, f, g)
}

输出

100 101 102 103 104 105