Go 语言中的整数
2011 年 5 月 18 日
为不同场合而设的整数类型
无论是有符号整数还是无符号整数, 它们都有各种不同大小(size)的类型可供选择, 而不同大小又会影响它们自身的取值范围以及内存占用。 表 7-1 列出了 8 种与计算机架构无关的整数类型, 以及这些类型需要占用的内存大小。
表 7-1 与计算机架构无关的整数类型
正如表 7-1 所示, Go 提供了非常多的整数类型可供选择。 本章稍后将会介绍其中一些类型的应用场景, 并说明当程序超出类型的有效取值范围时会发生什么事情。
因为 int
类型和 uint
类型会根据目标硬件选择最合适的位长, 所以它们未被包含在 表 7-1 里面。 举个例子, 在诸如 Go Playground、Raspberry Pi 2 和旧款手机等 32 位架构上, int
和 uint
都是 32 位值, 而较新的计算机都基于 64 位架构, 所以这些架构上的 int
和 uint
都是 64 位值。