- Go 教程
- Go - 首页
- Go - 概述
- Go - 环境搭建
- Go - 程序结构
- Go - 基本语法
- Go - 数据类型
- Go - 变量
- Go - 常量
- Go - 运算符
- Go - 决策语句
- Go - 循环
- Go - 函数
- Go - 作用域规则
- Go - 字符串
- Go - 数组
- Go - 指针
- Go - 结构体
- Go - 切片
- Go - 范围
- Go - 映射
- Go - 递归
- Go - 类型转换
- Go - 接口
- Go - 错误处理
- Go 有用资源
- Go - 常见问题解答
- Go - 快速指南
- Go - 有用资源
- Go - 讨论
Go - 数据类型
在 Go 编程语言中,数据类型指的是一个广泛的系统,用于声明不同类型的变量或函数。变量的类型决定了它在存储中占据的空间大小以及如何解释存储的位模式。
Go 中的类型可以分类如下:
序号 | 类型和描述 |
---|---|
1 | 布尔类型 它们是布尔类型,包含两个预定义常量:(a) true (b) false |
2 | 数值类型 它们也是算术类型,表示程序中的 (a) 整数类型或 (b) 浮点值。 |
3 | 字符串类型 字符串类型表示字符串值的集合。其值是字节序列。字符串是不可变类型,一旦创建,就无法更改字符串的内容。预声明的字符串类型是 string。 |
4 | 派生类型 它们包括 (a) 指针类型,(b) 数组类型,(c) 结构体类型,(d) 联合类型,(e) 函数类型,(f) 切片类型,(g) 接口类型,(h) 映射类型,(i) 通道类型 |
数组类型和结构体类型统称为聚合类型。函数的类型指定了所有具有相同参数和结果类型的函数的集合。我们将在下一节讨论基本类型,而其他类型将在后续章节中介绍。
整数类型
预定义的与架构无关的整数类型如下:
序号 | 类型和描述 |
---|---|
1 | uint8 无符号 8 位整数 (0 到 255) |
2 | uint16 无符号 16 位整数 (0 到 65535) |
3 | uint32 无符号 32 位整数 (0 到 4294967295) |
4 | uint64 无符号 64 位整数 (0 到 18446744073709551615) |
5 | int8 有符号 8 位整数 (-128 到 127) |
6 | int16 有符号 16 位整数 (-32768 到 32767) |
7 | int32 有符号 32 位整数 (-2147483648 到 2147483647) |
8 | int64 有符号 64 位整数 (-9223372036854775808 到 9223372036854775807) |
浮点类型
预定义的与架构无关的浮点类型如下:
序号 | 类型和描述 |
---|---|
1 | float32 IEEE-754 32 位浮点数 |
2 | float64 IEEE-754 64 位浮点数 |
3 | complex64 实部和虚部为 float32 的复数 |
4 | complex128 实部和虚部为 float64 的复数 |
n 位整数的值为 n 位,并使用二进制补码算术运算表示。
其他数值类型
还有一组具有实现特定大小的数值类型:
序号 | 类型和描述 |
---|---|
1 | byte 与 uint8 相同 |
2 | rune 与 int32 相同 |
3 | uint 32 或 64 位 |
4 | int 与 uint 大小相同 |
5 | uintptr 一个无符号整数,用于存储指针值的未解释位 |