常量

Go 支持字符,字符串,布尔值和数值常量。

  1. package main
  2. import "fmt"
  3. import "math"

使用 const 声明一个常量。

  1. const s string = "constant"
  2. func main() {
  3. fmt.Println(s)

const 语句可以出现在任何 var 语句可以出现的地方。

  1. const n = 500000000

常量表达式可执行任意精度的运算。

  1. const d = 3e20 / n
  2. fmt.Println(d)

数字常量在给定之前没有类型,例如一次显式类型转换。

  1. fmt.Println(int64(d))

数字常量可以在使用它的上下文需要时被给定一个类型,比如变量复制和函数调用时。举例来说,这里 math.Sin 函数期望一个 float64 类型,那么输出也将是 float64 类型。

  1. fmt.Println(math.Sin(n))
  2. }
  1. $ go run constant.go
  2. constant
  3. 6e+11
  4. 600000000000
  5. -0.28470407323754404