标签: variables types go
在Go Tour, page 13中,会出现以下内容:
MaxInt uint64 = 1<<64 - 1
正确评估示例运行时的情况;我似乎无法理解为什么。
unit64是Go中int的最大容器。同时,1<<64在表达式中使用时(例如在fmt.Printf(1<<64)中)评估异常 - 也就是说它不像在几种编程语言中那样是0。但是,当在赋值运算符的右侧使用时,它的计算结果很好。
unit64
1<<64
fmt.Printf(1<<64)
我在这里缺少什么?
答案 0 :(得分:1)
没关系,slide #15似乎解释了它:它是一个常数,因此“没有有限的大小”(不管怎么说都不是64位)。我觉得很奇怪,但是可以解释一下。