1.整数(integer)类型
类型 | 范围 |
uint | uint32 (32位平台) 或 uint64 (64位平台) |
uint8 | 0 ≤ n ≤ 255 |
uint16 | 0 ≤ n ≤ 65535 |
uint32 | 0 ≤ n ≤ 4294967295 |
uint64 | 0 ≤ n ≤ 18446744073709551615 |
int | int32 (32位平台) 或 int64 (64位平台) |
int8 | -128 ≤ n ≤ 127 |
int16 | -32768 ≤ n ≤ 32767 |
int32 | -2147483648 ≤ n ≤ 2147483647 |
int64 | -9223372036854775808 ≤ n ≤ 9223372036854775807 |
进制 | 描述 |
二进制 | 以 0b (零和小写字母b) 或 0B (零和大写字母B) 开头,后续只能包含数字 0 和 1。 |
八进制 | 以 0 (零) 或 0o (零和小写字母o) 或 0O (零和大写字母O) 开头,后续只能包含数字(0~7)。 |
十六进制 | 以 0x (零和小写字母x) 或 0X (零和大写字母X) 开头,后续只能包含 数字(0~9) 和 字母(a~f 或 A~F)。字母(a~f 或 A~F) 表示数字 10 到 15。 |
为了提高数值的可读性,下划线(_
)可以用作分隔符,解析时会被 Go 编译器移除。
//作为千分位分隔符
1_000_000_000
2.浮点(floating-point)类型
类型 | 描述 |
float32 | ±math.SmallestNonzeroFloat32 ≤ n ≤ ±math.MaxFloat32 |
float64 | ±math.SmallestNonzeroFloat64 ≤ n ≤ ±math.MaxFloat64 |
浮点类型还可以使用科学记数法来表示:一个数值(整数或浮点数)后跟一个大写或小写的字母 e
(表示乘以 10
),再跟一个前面的乘以 10
的多少次幂。
//十进制形式
5.12
//科学记数法形式
//注意:这是浮点数500.0,而不是整数500。
5e2
//注意:这是浮点数512.0,而不是整数512。
5.12e2
浮点类型还包括五个特殊的值:
值 | 描述 | 示例 |
+Inf (正无穷)
-Inf (负无穷) | 任何无法表示的最大正数或最小负数。 | a := math.MaxFloat64
a * 10 // +Inf -a * 10 // -Inf |
0 (正零)
-0 (负零) | 任何无法表示的最小正数或最大负数。 | a := math.MaxFloat64 b := a * 10
1/b // 0 -1/b // -0 |
NaN (Not a Number,非数值) | 在数学运算中,当遇到一些无法运算的情况时,使用 NaN 表示这种情况,而不是抛出错误。 | a := math.MaxFloat64 b := a * 10 c := a * 10 b/c // NaN |
关于进制部分,与上述整数类型描述一样。
关于下划线部分,与上述整数类型描述一样。
3.布尔(bool)类型
4.函数(func)类型
5.结构(struct)类型
6.接口(interface)类型
7.字符(rune)类型
8.字符串(string)类型
9.数组(array)类型
10.切片(slice)类型
11.映射(map)类型
12.指针(ptr)类型
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/go/golang/36908.html