跳转至

Go 常量

约 52 个字 26 行代码 预计阅读时间不到 1 分钟

声明

const关键字声明,其他与声明变量相似。

1
2
3
4
5
6
7
const x = "a"
const y bool = true
const z = 1.23
const (
    Big = 1 << 100
    Small = Big >> 99
)

不可用 := 声明。

数值常量

是高精度的值。未指定类型的常量由上下文决定类型。

package main
import "fmt"
const (
    // 将 1 左移 100 位来创建一个非常大的数字
    // 即这个数的二进制是 1 后面跟着 100 个 0
    Big = 1 << 100
    // 再往右移 99 位,即 Small = 1 << 1,或者说 Small = 2
    Small = Big >> 99
)
func needInt(x int) int { return x*10 + 1 }
func needFloat(x float64) float64 {
    return x * 0.1
}
func main() {
    fmt.Println(needInt(Small))
    fmt.Println(needFloat(Small))
    fmt.Println(needFloat(Big))
        fmt.Println(needInt(Big)) // 仅有此处报错,提示溢出
}