跳到主要内容

go-数据类型

  • Go(Golang)的基本数据类型主要可以分为:布尔型、数字型、字符串,以及一些常用的复合/派生类型

字符串​

数字​

  • Go 语言中数字类型有多种,包括整数、浮点数、复数等。
  • 整数包括有符号和无符号两种,有符号包括int8、int16、int32、int64,无符号包括uint8、uint16、uint32、uint64
  • 最常用的是 int

有符号和无符号的区别是:有符号可以表示正数和负数,无符号只能表示正数。

有符号整数​

  • 注意int8 表示8位,意思是8位二进制位(bit),因为计算机存储的是二进制
类型位数范围常见用途
int88 bit-128 ~ 127小范围数据、协议字段
int1616 bit-32768 ~ 32767网络协议、硬件
int3232 bit-21亿 ~ 21亿Unicode字符、部分协议
int6464 bit很大ID、时间戳、金额计算
int32/64 bit取决于系统日常开发首选

无符号整数​

类型位数范围常见用途
uint88 bit0 ~ 255字节数据
uint1616 bit0 ~ 65535端口、协议
uint3232 bit0 ~ 42亿网络、二进制
uint6464 bit很大大计数器、位运算
uint32/64 bit取决于系统底层场景
go
// 对应八位的二进制位, 123刚好是8位的二进制
var num int8 = 123
var num int8 = 127 // int8最大范围是127

var num int8 = 128 // 会报错 ❌
var num int8 = 1234 //会报错 ❌

布尔类型​

text
var ok bool = true
var failed bool = false

复合数据类型​

  • array 数组
  • slice 切片
  • map 映射
  • struct 结构体
  • pointer 指针
  • function 函数类型
  • channel 通道
  • interface 接口