基本类型

目录

如果你学过计算机组成的话,就应该知道,现在的计算机是都是基于二进制,而二进制只能表示两个状态,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。

为什么不是从0到256呢?因为这里一共有257个数字,超出了可以表示的范围,请注意,我们是从0开始数的。

接下来我们来看看Go语言中的基本类型。

整数

如上所述,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”。


这就是Go语言中提供的基本类型,接下来我们会看看容器类型。



更多文章
  • 学习frp源码之简洁的在两个connection之间转发流量
  • 自己动手写一个反向代理
  • 读《债务危机》
  • 从XMonad迁移到i3
  • 服务器IP被ban学到的经验
  • socks5 协议详解
  • 开启HSTS(HTTP Strict Transport Security)
  • 网络乞讨之合并支付宝和微信的收款二维码
  • 从Chrome切换到Firefox
  • nomad简明教程
  • Linux下当笔记本合上盖子之后只使用扩展显示器
  • Ubuntu 18.04 dhcp更换新IP
  • Python中的新式类(new style class)和老式类(old style class)
  • Python Requests 简明教程
  • 密码技术简明教程(三):证书和TLS