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 与无符号整数大小相同 |
5 | uintptr 一个无符号整数,用于存储指针值的未解释位 |