1.整数(integer)类型
| 类型 | 范围 |
uint | 0 ≤ n ≤ MaxUint32(32位平台) 或 0 ≤ n ≤ MaxUint64(64位平台) |
uint8 | 0 ≤ n ≤ MaxUint8 |
uint16 | 0 ≤ n ≤ MaxUint16 |
uint32 | 0 ≤ n ≤ MaxUint32 |
uint64 | 0 ≤ n ≤ MaxUint64 |
int | MinInt32 ≤ n ≤ MaxInt32(32位平台) 或 MinInt64 ≤ n ≤ MaxInt64(64位平台) |
int8 | MinInt8 ≤ n ≤ MaxInt8 |
int16 | MinInt16 ≤ n ≤ MaxInt16 |
int32 | MinInt32 ≤ n ≤ MaxInt32 |
int64 | MinInt64 ≤ n ≤ MaxInt64 |
| 进制 | 描述 |
| 二进制 | 以 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 * 2 // +Inf -a * 2 // -Inf |
0(正零)
-0(负零) | 任何无法表示的最小正数或最大负数。 | 1/math.Inf(1) // 0 -1/math.Inf(1) // -0 |
NaN(Not a Number,非数值) | 在数学运算中,当遇到一些无法运算的情况时,使用 NaN 表示这种情况,而不是抛出错误。 | math.Inf(1)/math.Inf(1) // NaN |
关于进制部分,与上述整数类型描述一样。
关于下划线部分,与上述整数类型描述一样。
3.布尔(bool)类型
4.函数(func)类型
5.结构(struct)类型
6.接口(interface)类型
7.字符(rune)类型
8.字符串(string)类型
9.数组(array)类型
10.切片(slice)类型
11.映射(map)类型
12.指针(ptr)类型
13.any类型
| 类型 | 描述 |
any | 表示任意类型,是 interface{} 的别名。 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/go/golang/36908.html