参考:
https://www.cnblogs.com/chenbaoding/p/12197244.html
https://www.jianshu.com/p/08d6a4216e96
const identifier type
func main() {
	const (
		a = 100
		b  // 100
		c // 100
		d //100
	)
	fmt.Println(a, b, c, d)
}
func main() {
	const (
		a = 100
		b = iota //1
		c = 200
		d  //200
	)
	fmt.Println(a, b, c, d)
}
只能在常量的表达式中, iota出现在const语句块中的第几行(下标从0开始), 那么它就是几
func main() {
	const(
		a = iota //表示给a赋值0, 然后后面的值依次+1
		b // 1
		c // 2
	)
	fmt.Println(a, b, c)
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~*/
func main() {
	const (
		a = 1
		b = iota // 1
		c // 2
		d //3
	)
	fmt.Println(a, b, c, d)
}
可跳过值
func main() {
	const(
		a = iota //表示给a赋值0, 然后后面的值依次+1
		b // 1
		_
		_
		e //4
	)
	fmt.Println(a, b, e)
}
位运算
func main() {
	const(
		a = 1 << iota // 1 << 0
		b  // 1 << 1
		c // 1 << 2
	)
	fmt.Println(a, b, c)
}
原文:https://www.cnblogs.com/kikochz/p/13509451.html