Golang 常量

Golang 常量

参考:

https://www.cnblogs.com/chenbaoding/p/12197244.html

https://www.jianshu.com/p/08d6a4216e96

定义

const identifier type

  • 不能将一个变量赋值给常量
  • Go中没有常量名必需字母大写规范
  • 任然通过首字母的大小写来控制常量的访问范围
  • 如果常量未声明值, 默认等于前一个值, 变量不存在该性质
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

只能在常量的表达式中, 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)
}
posted @ 2020-08-15 17:14  CyberPelican  阅读(149)  评论(0编辑  收藏  举报