看到 -1 将与以 32 位运行的进程一致。参见例如Go1.1 发行说明(介绍uint64)x := ^uint32(0) // x is 0xffffffffi := int(x) // i is -1 on 32-bit systems, 0xffffffff on 64-bitfmt.Println(i)使用fmt.Printf("%b\n", y)可以帮助了解发生了什么(参见ANisus的回答)事实证明,OPwheaties确认(在评论中)它最初以 32 位运行(因此是这个答案),但后来意识到18446744073709551615是0xffffffffffffffff(-1):见ANisus答案;