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

一个无符号整数,用于存储指针值的未解释位

广告