Golang aoit

在 Go 里是 —— 不变的。它们在编译时生成,即便是局部定义在函数里。它只能是数,字串或布尔。因为编译态的限制,定义它们的表达式必须是常量表达式,可以被编译器求值。例如,1<<3 是常量表达式, math.Sin(math.Pi/4) 不是,因为 math.Sin 的函数调用发生在运行态。

Go 的列举常量可用 iota 生成。 因为 iota 可以是表达式的一部分,并且表达式可以隐含重复,打造一套精致的值可以变得很容易。

type ByteSize float64

const (

_ = iota  // ignore first value by assigning to blank identifier

KB ByteSize = 1<<(10*iota)

MB

GB

TB

PB

EB

ZB

YB

)

你可能感兴趣的:(Golang aoit)