2

在 Go Tour基础知识片段 #13中,呈现以下内容:

MaxInt uint64     = 1<<64 - 1

当示例运行时,它会正确评估;我似乎无法理解为什么。

unit64int据我所知,是围棋中最大的容器。

同时在1<<64表达式(例如 in fmt.Printf(1<<64))中使用时会评估为异常 - 也就是说,它0与其他几种编程语言不同。

尽管如此,当在赋值运算符的右侧使用时,它的评估效果很好。

我在这里想念什么?

4

1 回答 1

1

没关系,幻灯片 #15似乎解释了它:它是一个常数,因此“没有限制大小”(无论如何都不是 64 位)。我觉得这很奇怪,但可以解释一下。

于 2013-07-12T16:32:46.537 回答