Go语言数据类型
不管是Go语言还是其它编程语言,数据类型,主要目的就是为了给内存分成不同的大小
用不同的数据类型定义的变量,占用的内存空间不一样。如下图
在Go语言中,数据类型可以分为以下几种
1 整型
其中整型又分为 有符号和 无符号,如下:
- 有符号整型:
int
,int8
,int16
,int32
,int64
- 无符号整型:
uint
,uint8
,uint16
,uint32
,uint64
有符号整型可以表示负数,0 ,正数
无符号整型只能表示 0 和 正数
int 和 uint 这两个没有具体的 bit 大小的整型,他们的大小可能是32位,也可能是64位,这个取决于硬件设备CPU
还有一种字节类型 byte,它其实等价于 uint8,可以理解为 uint8 类型的别名,用于定义一个字节,所以字节byte类型也属于整型
2 浮点型
浮点型就是含有小数的数字,Go语言中提供了两种精度的浮点数:
-
float32
-
float64
因为 float64 精度高,浮点计算结果比 float 误差要更小,所以它更被常使用。
注意:Go语言没有 double 类型
3 布尔型
布尔型的关键字是 bool
, 只有 2 个取值,分别是 true
和 false
4 字符串
Go语言的字符串类型使用 string
关键字声明
如下示例:
var site string = "hello,world" var url string = "www.helloworld.net"
5 默认值
在Go语言中,如果声明了一个变量,没有给一个初始值,那么此变量就会有一个默认值,也叫零值,都一个意思
不同的数据类型声明的变量,其默认值不一样,如下几条:
-
数字类型的变量,默认值都是
0
或者0f
,如int
,int8
,int16
,int32
,int64
,uint
,uint8
,uint16
,uint32
,uint64
,float32
,float64
-
布尔类型的变量,默认值是
false
-
字符串类型的变量,默认值是空字符串,即
""
-
剩下的其它的数据类型,默认值都是
nil
,如指针
,数组
,map
,chan
,接口
等,这些数据类型后面会讲到,这里只需要知道即可
小结
以上就是Go的基本数据类型,关于 指针
,数组
,map
等,放到后面的章节介绍
现对Go语言的基本数据类型简单的总结一下:
-
Go语言数据类型分为
整型
,浮点型
,布尔型
,字符串型
-
整型
,浮点型
都是数字型的,数字型的默认值都是 0 或者0f
(浮点型的默认值是0f
)