我试过了:
fmt.Printf(“%d”,math.MaxUint64)
但是我收到以下错误消息:
constant 18446744073709551615 overflows int
我怎样才能解决这个问题?谢谢!
math.MaxUint64是一个常量,而不是int64.尝试改为:
fmt.Printf("%d",uint64(num))
这里的问题是常量是无类型的.常量将根据其使用的上下文采用类型.在这种情况下,它被用作接口{},因此编译器无法知道您要使用的具体类型.对于整数常量,它默认为int.由于你的常量溢出一个int,这是一个编译时错误.通过传递uint64(num),您将通知编译器您希望将值视为uint64.
请注意,此特定常量仅适用于uint64,有时适用于uint.它甚至比标准的int64更大.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。