用const
关键字声明,其他与声明变量相似。
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)) // 仅有此处报错,提示溢出
}