int什么时候会是64位?

根据文档:

int 是有符号整数类型,大小至少为 32 位。然而,它是一种独特的类型,而不是 int32 等类型的别名。

但它没有说哪个平台或什么时候它会大于 int32。

谁能给我更多详细信息吗?或者说处理它的源代码在哪里?我可以强制编译器将 int 转换为 64 位吗?

我知道我可以使用 int64。这不是一个寻求最佳实践的问题。


繁星点点滴滴
浏览 97回答 2
2回答

饮歌长啸

Go 编程语言规范数字类型还有一组具有特定于实现的大小的预先声明的数字类型:uint     either 32 or 64 bits int      same size as uint的大小int取决于编译器编写者。对于主机来说,它通常是一个自然、有效的大小。例如,amd64 上为 64 位,386 架构上为 32 位。例如,package mainimport (    "fmt"    "runtime"    "strconv")func main() {    fmt.Println(runtime.GOARCH, strconv.IntSize)}输出:$ uname -px86_64$ go run intsize.goamd64 64$ 

红颜莎娜

据推测, an 的大小int是由实现定义的,这意味着它会根据操作系统和内核架构的不同而因平台而异。大多数编程语言(例如 C)都是这种情况。如果您必须精确地拥有一个 64 位整数,那么该int64类型就存在,这将保证您的整数中恰好有 64 位。与 、 等相同int32。int16否则,文档建议使用int,因为编译器可以更轻松地优化代码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go