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  阅读(32)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
· 重磅发布!DeepSeek 微调秘籍揭秘,一键解锁升级版全家桶,AI 玩家必备神器!
点击右上角即可分享
微信分享提示