数据类型
在Go编程语言中,数据类型是指用于声明不同类型的变量或函数的扩展系统。 变量的类型决定了它在存储中占用的空间大小以及如何解释存储的位模式。
Go中的类型可分为以下几类 -
Sr.No. | 类型和描述 |
---|---|
1 | Boolean types 它们是布尔类型,由两个预定义常量组成:(a)true(b)false |
2 | Numeric types 它们又是算术类型,它们代表a)整数类型或b)整个程序中的浮点值。 |
3 | String types 字符串类型表示字符串值的集合。 它的值是一个字节序列。 字符串是一旦创建的不可变类型,就不可能更改字符串的内容。 预先声明的字符串类型是字符串。 |
4 | Derived types 它们包括(a)指针类型,(b)数组类型,(c)结构类型,(d)联合类型和(e)函数类型f)切片类型g)接口类型h)地图类型i)通道类型 |
数组类型和结构类型统称为aggregate types 。 函数的类型指定具有相同参数和结果类型的所有函数的集合。 我们将在下一节讨论基本类型,而其他类型将在后面的章节中介绍。
整数类型 (Integer Types)
预定义的与体系结构无关的整数类型是 -
Sr.No. | 类型和描述 |
---|---|
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) |
浮动类型
预定义的独立于体系结构的浮点类型是 -
Sr.No. | 类型和描述 |
---|---|
1 | float32 IEEE-754 32位浮点数 |
2 | float64 IEEE-754 64位浮点数 |
3 | complex64 具有float32实部和虚部的复数 |
4 | complex128 带有float64实部和虚部的复数 |
n位整数的值是n位,并使用二进制补码算术运算来表示。
其他数字类型
还有一组具有特定于实现的大小的数字类型 -
Sr.No. | 类型和描述 |
---|---|
1 | byte 与uint8相同 |
2 | rune 与int32相同 |
3 | uint 32或64位 |
4 | int 与uint相同的大小 |
5 | uintptr 无符号整数,用于存储指针值的未解释位 |