Go 整数数据类型
Go 整数数据类型
整数数据类型用于存储没有小数部分的整数,例如 35、-50 或 1345000。
整数数据类型有两类
- 有符号整数 - 可以存储正数和负数
- 无符号整数 - 只能存储非负数
提示: 整数的默认类型是 int
。如果未指定类型,则类型将为 int
。
有符号整数
有符号整数,用 int
关键字之一声明,可以存储正数和负数
示例
package main
import ("fmt")
func main() {
var x int = 500
var y int = -4500
fmt.Printf("Type: %T, value: %v", x, x)
fmt.Printf("Type: %T, value: %v", y, y)
}
亲自尝试 »
Go 有五种有符号整数关键字/类型
类型 | 大小 | 范围 |
---|---|---|
int |
取决于平台 在 32 位系统中为 32 位,以及 在 64 位系统中为 64 位 |
在 32 位系统中为 -2147483648 到 2147483647,以及 在 64 位系统中为 -9223372036854775808 到 9223372036854775807 |
int8 |
8 位/1 字节 | -128 到 127 |
int16 |
16 位/2 字节 | -32768 到 32767 |
int32 |
32 位/4 字节 | -2147483648 到 2147483647 |
int64 |
64 位/8 字节 | -9223372036854775808 到 9223372036854775807 |
无符号整数
无符号整数,用 uint
关键字之一声明,只能存储非负数
示例
package main
import ("fmt")
func main() {
var x uint = 500
var y uint = 4500
fmt.Printf("Type: %T, value: %v", x, x)
fmt.Printf("Type: %T, value: %v", y, y)
}
亲自尝试 »
Go 有五种无符号整数关键字/类型
类型 | 大小 | 范围 |
---|---|---|
uint |
取决于平台 在 32 位系统中为 32 位,以及 在 64 位系统中为 64 位 |
在 32 位系统中为 0 到 4294967295,以及 在 64 位系统中为 0 到 18446744073709551615 |
uint8 |
8 位/1 字节 | 0 到 255 |
uint16 |
16 位/2 字节 | 0 到 65535 |
uint32 |
32 位/4 字节 | 0 到 4294967295 |
uint64 |
64 位/8 字节 | 0 到 18446744073709551615 |
使用哪种整数类型?
要选择的整数类型取决于变量需要存储的值。
示例
此示例将导致错误,因为 1000 超出了 int8 的范围(范围为 -128 到 127)
package main
import ("fmt")
func main() {
var x int8 = 1000
fmt.Printf("Type: %T, value: %v", x, x)
}
结果
./prog.go:5:7: 常量 1000 超出 int8 范围
亲自尝试 »