在命令行和操场中进行整数溢出设置

这个程序在我的机器上运行良好(go1.2.1 linux/amd64):


package main


import "fmt"


const bigint = 1<<62


func main() {

    fmt.Println(bigint)

}

但是使用 go 游乐场,它会出现溢出错误 - http://play.golang.org/p/lAUwLwOIVR


似乎我的构建配置了 64 位整数常量,操场配置了 32 位。


但是规范说实现必须为常量提供至少 256 位的精度?


另请参阅我的另一个问题中的代码——扫描仪标准包有代码:


const GoWhitespace = 1<<'\t' | 1<<'\n' | 1<<'\r' | 1<<' '

由于空间是 32,这在 32 位操场上根本不起作用。


怎么会这样?


慕的地10843
浏览 153回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go