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详见指针章节

13.any类型

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

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

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

相关推荐

  • 2.2Go类型之结构(Struct)

    1.结构声明 2.成员定义 3.继承 3.1方法继承 一个子结构可以直接继承自多个父结构,但如果多个父结构存在同名方法且子结构未覆盖,访问时会报错,此时必须使用“调用父结构的方法”章节的语法实现访问。 子结构会直接继承父结构中可继承的方法,间接继承祖父结构中可继承的方法,以此类推,直至没有可继承的方法。 注意:从父结构…

    Go语言教程 2025年3月2日
    0160
  • 1.7Go语言的函数(Function)

    1.函数定义 1.1函数声明 1.2函数字面量(匿名函数表达式) 2.函数作用域 注意:Go 语言不支持局部函数。 3.函数引用表达式 4.形参分类 名称 描述 值形参 按位置传递 切片形参 用于收集多余的位置实参 5.函数调用表达式 实参的传递只支持按位置传递方式,不支持按命名传递方式。 6.返回值 参考 retur…

    Go语言教程 2025年2月7日
    0200
  • 1.3Go语言的运算符(Operator)

    1.一元运算符 运算符 名称 描述 +a 求正 a 的值本身。 -a 求负 a 的负值。 a++ 后递增 返回 a,然后将 a 的值加 1。注意:不支持前递增语法。 a– 后递减 返回 a,然后将 a 的值减 1。注意:不支持前递减语法。…

    Go语言教程 2025年2月3日
    0270

发表回复

登录后才能评论