Golang之常量

446 阅读1分钟

常量声明

常量与变量的声明类似,只是把前边的var换为了const。不同的是常量在声明的时候必须赋值

const pi = 3.14159

和变量声明一样,可以批量声明常量。

const (
    e  = 2.71828
    pi = 3.14159
)

如果是批量声明的常量,除了第一个外其它的常量右边的初始化表达式都可以省略,如果省略初始化表达式则表示使用前面常量的初始化表达式写法,对应的常量类型也一样的。例如:

const (
    a = 6
    b
    c = 9
    d
)

fmt.Println(a, b, c, d) // "6 6 9 9"

iota

iota 是Go中的常量计数器,在const出现时,iota被重置为0;之后const中每增加一行,iota加1。例子:

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

iota应用实例:

定义数量级

const (
    _ = 1 << (10 * iota)
    KB // 1024
    MB // 1048576
    GB // 1073741824
    TB // 1099511627776     
    PB // 1125899906842624
    EB // 1152921504606846976
    ZB // 1180591620717411303424
    YB // 1208925819614629174706176
)