在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 - 无符号整数,用于存储指针值的未解释位 |