- Go语言入门
- Go语言开发环境安装配置
- Go语言程序结构
- Go语言基础语法
- Go语言数据类型
- Go语言变量
- Go语言常量
- Go语言运算符
- Go语言条件和决策
- Go语言循环
- Go语言函数
- Go语言作用域规则
- Go语言字符串
- Go语言数组
- Go语言指针
- Go语言结构体
- Go语言切片
- Go语言范围(range)
- Go语言映射
- Go语言递归
- Go语言类型转换
- Go语言接口
- Go语言错误处理
-
Go编程代码实例
- Hello World程序实例
- Go变量实例
- Go常量实例
- Go for循环语句实例
- Go if/else语句实例
- Go switch语句实例
- Go切片实例
- Go范围实例
- Go函数实例
- Go函数多个返回值实例
- Go可变参数的函数实例
- Go闭包(匿名函数)实例
- Go函数递归实例
- Go指针实例
- Go指针实例
- Go接口实例
- Go错误实例
- Go程序实例
- Go通道实例
- Go通道缓冲实例
- Go通道同步实例
- Go通道路线实例
- Go Select实例
- Go超时(timeouts)实例
- Go非阻塞通道操作实例
- Go关闭通道实例
- Go通道范围实例
- Go计时器实例
- Go断续器实例
- Go工作池实例
- Go速率限制实例
- Go原子计数器实例
- Go互斥体实例
- Go有状态的goroutines实例
- Go排序实例
- Go按自定义函数排序实例
- Go panic错误处理实例
- Go延迟(defer)实例
- Go集合函数实例
- Go字符串函数实例
- Go字符串格式化实例
- Go正则表达式实例
- Go JSON实例
- Go时间日期实例
- Go时代(Epoch)实例
- Go时间格式化/解析实例
- Go随机数实例
- Go数字解析实例
- Go URL解析实例
- Go SHA1哈希实例
- Go Base64编码实例
- 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 - 无符号整数,用于存储指针值的未解释位 |