数值常量

数值常量是高精度的

一个未指定类型的常量由上下文来决定其类型。

再尝试一下输出 needInt(Big) 吧。

int 类型最大可以存储一个 64 位的整数,有时会更小。)

int 可以存放最大64位的整数,根据平台不同有时会更少。)

numeric-constants.go

  1. package main
  2. import "fmt"
  3. const (
  4. // 将 1 左移 100 位来创建一个非常大的数字
  5. // 即这个数的二进制是 1 后面跟着 100 个 0
  6. Big = 1 << 100
  7. // 再往右移 99 位,即 Small = 1 << 1,或者说 Small = 2
  8. Small = Big >> 99
  9. )
  10. func needInt(x int) int { return x*10 + 1 }
  11. func needFloat(x float64) float64 {
  12. return x * 0.1
  13. }
  14. func main() {
  15. fmt.Println(needInt(Small))
  16. fmt.Println(needFloat(Small))
  17. fmt.Println(needFloat(Big))
  18. }