如果你学过计算机组成的话,就应该知道,现在的计算机是都是基于二进制,而二进制只能表示两个状态,1和0。其实我们平时在 计算机上看到的所有东西,例如一个字符串,一个整数,一张图片,一个网页等等,他们在最底层,都是一长串的0和1。
那么我们怎么知道哪些0和1是字符串,哪些0和1是整数呢?其实这是人为规定的。我们把一个0或1,也就是最小的单位,叫做一个bit。 而把8个这样的单位组合在一起,叫做一个byte,也就是说,1 byte = 8 bit。既然一个bit能表示两个状态,那么八个bit就能表示 2 ** 8 = 256 个状态。但这还远远不够,例如,如果用来表示整数,而这个整数刚好大于256怎么办呢?又或者,这个整数是个负数 该要怎么办呢?因此,我们就有了这些类型:
int8
int16
int32
int64
等等,后面的数字代表他们是由多少个bit表示,例如int64就是说,这个类型是由64个bit组成的。int是可以表示正数和负数,也就是说, int8能表示 -128~127 范围内的整数。但是好像我们这样做有点浪费,如果哪天我们不需要负的那一部分呢?有没有办法把负数的 那一部分也用来表示正数呢?答案当然是有,因此我们就有了 无符号整数:
uint8
uint16
uint32
uint64
例如 uint8 它的表示的范围就是从 0 到 255。
如上所述,Go语言提供有符号和无符号两种整数类型,而且分别提供8,16,32,64四种长度,此外还提供了 int 这种类型。这是为了方便编程,一般int在32位的计算机上相当于 int32 的别名,而在 64位的机器上相当于 int64 的别名。Go有这些类型:
int
int8
int16
int32
int64
uint8
uint16
uint32
uint64
浮点数
有的时候我们要表示小数,Go提供了两种小数类型:
float32
float64
布尔类型
也就是常见的true和false。
字符串类型
字符串就是一堆字符,比如一句话,一般用双引号扩住。例如 “hello”。