如何使用fmt在Go中打印出常量uint64?

我试过了:

fmt.Printf(“%d”,math.MaxUint64)

但我收到以下错误消息:

常数18446744073709551615溢出int

我怎样才能解决这个问题?谢谢!

回答:

math.MaxUint64是一个常量,而不是int64。请尝试:

fmt.Printf("%d", uint64(num))

这里的问题是常量是无类型的。该常数将根据使用它的上下文采用一种类型。在这种情况下,它被用作接口{},因此编译器无法知道您要使用哪种具体类型。对于整数常量,默认为int。由于您的常量溢出一个int,因此这是编译时错误。通过传递uint64(num),您通知编译器您希望将值视为uint64

请注意,此特定常数仅适用于uint64,有时甚至适用于uint。该值甚至大于标准int64可以容纳的值。

以上是 如何使用fmt在Go中打印出常量uint64? 的全部内容, 来源链接: utcz.com/qa/407223.html

回到顶部