Go 整数数据类型
Go 整数数据类型
整数数据类型用于存储没有小数的整数,如 35、-50 或 1345000。
整数数据类型有两类:
- 有符号整数 - 可以存储正值和负值
- 无符号整数 - 只能存储非负值
提示: 整数的默认类型是int
。如果您不指定类型,则类型将是 int
.
有符号整数
有符号整数,使用以下之一声明 int
关键字,可以存储正值和负值:
例子
软件包 main
导入(“fmt”)
函数main(){
var x int = 500
var y int = -4500
fmt.Printf("类型:%T,值:%v", x, x)
fmt.Printf("类型:%T,值:%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
关键字,只能存储非负值:
例子
软件包 main
导入(“fmt”)
函数main(){
var x 单位 = 500
var y uint = 4500
fmt.Printf("类型:%T,值:%v", x, x)
fmt.Printf("类型:%T,值:%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):
软件包 main
导入(“fmt”)
函数main(){
var x int8 = 1000
fmt.Printf("类型:%T,值:%v", x, x)
}
结果:
./prog.go:5:7: constant 1000 overflows int8
亲自尝试 »