1.4Go语言的类型(Type)

1.整数(integer)类型

类型范围
uint0 ≤ n ≤ MaxUint32(32位平台) 或 0 ≤ n ≤ MaxUint64(64位平台)
uint80 ≤ n ≤ MaxUint8
uint160 ≤ n ≤ MaxUint16
uint320 ≤ n ≤ MaxUint32
uint640 ≤ n ≤ MaxUint64
intMinInt32 ≤ n ≤ MaxInt32(32位平台) 或 MinInt64 ≤ n ≤ MaxInt64(64位平台)
int8MinInt8 ≤ n ≤ MaxInt8
int16MinInt16 ≤ n ≤ MaxInt16
int32MinInt32 ≤ n ≤ MaxInt32
int64MinInt64 ≤ n ≤ MaxInt64
进制描述
二进制以 0B(零和大写字母B) 或 0b(零和小写字母b) 开头,后续只能包含 数字(0~1)。
八进制以 0(零) 或 0O(零和大写字母O) 或 0o(零和小写字母o) 开头,后续只能包含 数字(0~7)。
十六进制以 0X(零和大写字母X) 或 0x(零和小写字母x) 开头,后续只能包含 数字(0~9)、字母(A~Fa~f)。字母(A~Fa~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)类型

类型
booltruefalse
类型这些值被认为是 false
boolfalse

4.函数(func)类型

类型描述
func(类型) 返回类型详见函数章节

5.结构(struct)类型

类型描述
——————详见结构章节

6.接口(interface)类型

类型描述
——————详见接口章节

7.字符(rune)类型

类型描述
rune字符类型

8.字符串(string)类型

类型描述
string详见字符串章节

9.数组(array)类型

类型描述
[长度]类型详见数组章节

10.切片(slice)类型

类型描述
[]类型详见切片章节

11.映射(map)类型

类型描述
map[键类型]值类型详见映射章节

12.指针(ptr)类型

类型描述
*类型详见指针章节

13.any类型

类型描述
any表示任意类型‌,是 interface{} 的别名。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/go/golang/36908.html

huoxiaoqiang的头像huoxiaoqiang

发表回复

登录后才能评论
分享本页
返回顶部