Go语言数字类型
Go语言数字类型
Go语言支持整型和浮点型数字,并且原生支持复数,其中位的运算采用补码。
Go也有基于架构的类型,例如:int
、uint
、uintptr
。
这些类型的长度都是根据运行程序所在的操作系统类型所决定的。
int
和uint
在32位操作系统上,他们均使用32位(4个字节),在64位操作系统上,它们均使用64位(8个字节)。uintptr
的长度被设定为足够存放一个指针即可。
Go语言中没有float
类型。(Go语言中只有float32
和float64
)没有double类型。
与操作系统架构无关的类型都有固定的大小,并在类型的名称中就可以看出来:
整数:
- int8 (-128 -> 127)
- int16 (-32768 -> 32767)
- int32 (-2147483648 -> 2147483647)
- int64 (-9223372036854775808 -> 9223372036854775807)
无符号整数:
- uint8 (0 -> 255)
- uint16 (0 -> 65535)
- uint32 (0 -> 4294967295)
- uint64 (0 -> 18446744073709551615)
浮点型(IEEE-754标准):
- float32 (+-1e-45 -> +-3.4* 1e38)
- float64 (+-5* 1e-324 -> 107* 1e308)
int类型是计算最快的一种类型。
整型的零值为0,浮点型的零值为0.0。
实例
下面实例演示了,各个数字类型的长度和取值范围
1 | package main |
运行结果:
1 | int8 1B -128~127 |
以二进制、八进制或十六进制浮点数的格式定义数字
1 | package main |
浮点型
Go语言支持两种浮点型数:float32
和float64
。这两种浮点型数据格式遵循IEEE 754
标准:float32
的浮点数的最大范围约为3.4e38
,可以使用常量定义:math.MaxFloat32
。float64
的浮点数的最大范围约为1.8e308
,可以使用一个常量定义:math.MaxFloat64
。
打印浮点数时,可以使用fmt
包配合动词%f
,代码如下:
1 | package main |
复数
complex64和complex128
1 | package main |
复数有实部和虚部,complex64的实部和虚部为32位,complex128的实部和虚部为64位。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 疯疯の神奇小窝!
评论