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
- float64
int型是计算最快的一种类型
整型的零值是0,浮点型的零值为0.0
实例
下面实例演示中,各个数字类型的长度和取值范围
1 | package main |
运行结果:
1 | int8 1B -128->127 |
以二进制、八进制或十六进制浮点数的格式定义数字
1 | package main |
运行结果:
1 | 10 |
浮点型
Go语言支持两种浮点型数:float32
和float64
,这两种浮点型数据格式遵循IEEE 754
标准:float32
的浮点数的最大范围为3.4e38
,可以使用常量定义:math.MaxFloat32
。float64
的浮点数的最大范围约为1.8e308
,可以使用一个常量定义:math.MaxFloat64
。
打印浮点数时,可以使用fmt
包配合动词%f
,代码如下:
1 | package main |
运行结果:
1 | 3.141593 |
复数
complex64和complex128
1 | var c1 complex64 |
复数有实部和虚部,complex64的实部和虚部为32位,complex128的实部和虚部位64位。
评论
TwikooGiscus