Go语言-数据类型

GO语言中的数据类型

数据类型的出现是为了把数据分成所需内存大小不同的数据,不同类型的数据占用的内存空间是不一样的。

GO语言中的数据类型大类可以分为:数值类型,字符串类型和布尔型。其中,数值类型又可以进行详细的分类。

  • 数值类型
    • 整型
    • 浮点型
    • 复数
  • 字符串类型
  • 布尔型

1 数值型有哪些子类型?

1.1 整型的数据类型可以分为以下几个子类:
子类型 描述
uint8 无符号的8位整型(1字节)
uint16 无符号的16位整型(2字节)
uint32 无符号的32位整型(4字节)
uint64 无符号的64位整型(8字节)
int8 有符号8位整型
int16 有符号的16位整型
int32 有符号32位整型
int64 有符号64位整型

由上表的整型类型的数据类型分析可以总结出以下几点:

  1. 有符号和无符号的整型主要通过是否有u 开头区分,不带u 的情况是有符号的。
1.2 浮点和复数型可以分为以下几个子类
子类型 描述
float32 32位浮点数
float64 64位浮点数
complex64 32位实数和虚数
complex128 64位实数和虚数
1.3 其他还有一些数据类型
子类型 描述
byte 类似于uint8
rune 类似于int32
uint 32或者64位
int 与uint大小一样
uintptr 无符号证书,用于存放一个指针
1.4 数值类型的变量默认取值

值类型中整型和浮点型变量的默认取值都是0

复数类型变量的默认取值是(0+0i)

2 字符串类型

字符串类型为string ,统一编码为“UTF-8”

字符串类型的默认值为空字符串,而不是nil ,这一点需要注意。

3 布尔值

布尔值类型为bool,的变量只能取值为常量true或者false。例如:

var a bool = true

布尔型变量的默认取值为: false

4 类型别名

很多语言都可以通过关键字为一些变量取一个简单有趣的别名,GO语言中的这个功能是通过type 关键字来实现的。例如:type newtype int32 ,表示将int32 别名为newtype 。之后就可以直接使用newtype来对变量进行类型实例化。

注意:
一旦为一个类型设置别名,并对别名进行了使用的变量后,就和原来的数据类型变量不一致了。两个类型的变量不能进行运算。仅代表这两种变量类型所占的内存大小相同而已。

你可能感兴趣的:(Go语言-数据类型)