go数据类型

go数据类型

基本类型

类型 说明 占用内存 默认初始值
bool 布尔型 1字节 false
int8/16/32/64 有符号定长整型 1/2/4/8字节 0
uint8/16/32/64 无符号定长整型 1/2/4/8字节 0
int 有符号整型 在32位系统中占4字节,在64位系统中占8字节 0
uint 无符号整型 在32位系统中占4字节,在64位系统中占8字节 0
byte 字节类型 1字节 0
rune 存储unicode字符的类型 4字节 0
uintptr 能够容纳指针的值的整型 在32位系统中占4字节,在64位系统中占8字节 0
float32 单精度浮点型 4字节 0.0
float64 双精度浮点型 8字节 0.0
  • 可以用fmt.Printf("%t", true)格式化输出bool类型变量。
  • int一般是当前硬件中性能最高的整型,所以默认的整型字面值常量就是int类型的。
  • byteuint8是等价的,只是用来更清晰地表明是一个字节,可以存储ASCII字符。
  • runeint32是等价的,用于更清晰地表示一个unicode字符。
  • 单精度浮点型可以表示6-7位十进制精度,比较小,双精度浮点型可以表示15-16位精度,并且现代处理器处理双精度浮点型可能更快,所以默认的浮点型字面值常量就是float64类型的。

字符串类型

类型 说明 默认初始值
string 字符串类型 空字符串""
  • 在go中,字符串类型string是不可修改的字节序列,默认表示utf-8编码的字符串。

派生类型

类型 说明 默认初始值 备注
*T 指针类型 nil go语言有指针但不允许指针运算,因为内存对象由gc管理
[N]T 数组类型 N个元素均为默认值 数组传参的时候会复制整个数组,效率低
[]T 切片类型 nil 数组的引用,传参效率高
map[T1]T2 字典类型 nil
type T struct 结构体类型 成员变量均为默认值
type T interface 接口类型 nil go语言特性,用来实现多态
chan T 通道类型 nil go协程之间通信的管道
func(args) results 函数类型 nil

参考资料

posted @   HachikoT  阅读(35)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示