1.4Go语言的类型(Type)

1.整数(integer)类型

类型范围
uintuint32(32位平台) 或 uint64(64位平台)
uint80 ≤ n ≤ 255
uint160 ≤ n ≤ 65535
uint320 ≤ n ≤ 4294967295
uint640 ≤ n ≤ 18446744073709551615
intint32(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)类型

类型
booltruefalse

4.函数(func)类型

类型描述
func详见函数章节

5.结构(struct)类型

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

6.接口(interface)类型

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

7.字符(rune)类型

类型描述
rune字符类型

8.字符串(string)类型

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

9.数组(array)类型

类型描述
array详见数组章节

10.切片(slice)类型

类型描述
slice详见切片章节

11.映射(map)类型

类型描述
map详见映射章节

12.指针(ptr)类型

类型描述
ptr详见指针章节

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

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2025年2月3日 22:09
下一篇 2025年2月4日 14:29

相关推荐

发表回复

登录后才能评论