go06 整数

简介: go06 整数

go06 整数

Go 语言里的整数类型


Go 提供了 10 种整数类型:

  • 不可以存小数部分
  • 范围有限
  • 通常根据数值范围来选取整数类型

5 种整数类型是有符号的

  • 能表示正数、0、负数

5 种整数类型是无符号的

  • 能表示正数、0

例 1:

  • 最常用的整数类型是 int:



0438d48befd5426a813fc3b63750c0e0.png



无符号整数类型是 uint:


  • 例 2:使用类型推断



8 种整数类型

整数类型,包括有符号和无符号的,实际上一共是 8 种类型:

  • 他们的取值范围各不相同。
  • 与架构无关

27a2c2c3bca9475eba2e860d599806ea.png


int 和 uint


而 int 和 uint 是针对目标设备优化的类型:


在树莓派 2、比较老的移动设备上,int 和 uint 都是 32 位的。


在比较新的计算机上,int 和 uint 都是 64 位的。


虽然在某些设备上 int 可以看作是 int32,在某些设备上 int 可以看作是 int64,但它们其实是 3 种不同的类型。


int 并不是其它类型的别名,uint 同理。


打印数据类型

打印数据类型

在 Printf 里使用 %T 就可以打印出数据的类型。



uint8

uint8 可以用来表示 8 位的颜色(红绿蓝:0-255)。

为什么不使用 int ?


  • uint8 的取值范围正好合适,而 int 则多出来几十亿不合理的数。
  • 如果很多颜色数据连续存储,例如未被压缩的图片,那么使用uint8 可以节省很多内存。


十六进制表示法

Go 语言里,在数前面加上 0x 前缀,就可以用十六进制的形式来表示数值。

打印十六进制


打印十六进制的数,使用 %x 格式化动词:

也可以指定最小宽度和填充:


ea527ef062bb4bf3a2065dc13c9ff9d9.png


33c815b7a53343d3a66f115b87d3a5f2.png


整数环绕

所有的整数类型都有一个取值范围,超出这个范围,就会发生“环绕”。


38728fa6569a43e787be17783321bb7e.png



打印每个 bit

使用 %b 格式化动词。



整数类型的最大、最小值

math 包里,为与架构无关的整数类型,定义了最大、最小值常量:

而 int 和 uint 没有定义最大值最小值,因为它们可能是 32 或 64 位的。

【上一讲】go05 实数

【下一讲】go07 很大的数

目录
相关文章
|
3月前
|
Go
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
|
6月前
|
存储 Go
解析 Go 编程语言数据类型:bool、整数、浮点数和字符串详细介绍
数据类型是编程中的重要概念。数据类型指定了变量值的大小和类型。Go是静态类型的,这意味着一旦变量类型被定义,它只能存储该类型的数据。
89 0
解析 Go 编程语言数据类型:bool、整数、浮点数和字符串详细介绍
|
11月前
|
存储 Go
Go 语言的基础数据类型:整数类型、浮点数类型、布尔类型、字符串类型等
Go 语言的基础数据类型:整数类型、浮点数类型、布尔类型、字符串类型等
72 0
Go 语言的基础数据类型:整数类型、浮点数类型、布尔类型、字符串类型等
每日一题---13. 罗马数字转整数[力扣][Go]
每日一题---13. 罗马数字转整数[力扣][Go]
每日一题---13. 罗马数字转整数[力扣][Go]
每日一题---12. 整数转罗马数字[力扣][Go]
每日一题---12. 整数转罗马数字[力扣][Go]
每日一题---12. 整数转罗马数字[力扣][Go]
|
算法 Go C++
每日一题---8. 字符串转换整数 (atoi)[力扣][Go]
每日一题---8. 字符串转换整数 (atoi)[力扣][Go]
每日一题---8. 字符串转换整数 (atoi)[力扣][Go]
每日一题---7. 整数反转[力扣][Go]
每日一题---7. 整数反转[力扣][Go]
每日一题---7. 整数反转[力扣][Go]
Golang:go-hashids从整数生成短唯一ID
Golang:go-hashids从整数生成短唯一ID
269 0
|
存储 Go 开发工具
Go 专栏|基础数据类型:整数、浮点数、复数、布尔值和字符串
Go 专栏的第三篇,本文内容依旧很基础,很简单。如果有编程经验的话,可能扫一眼就了然于胸了。但如果刚开始接触编程,建议还是好好看看,把文中的代码 demo 都自己跑一遍。只有基础打好了,才能向更高的目标迈进。
251 0
Go 专栏|基础数据类型:整数、浮点数、复数、布尔值和字符串
【Go语言入门100题】008 求整数段和 (10 分) Go语言|Golang
L1-008 求整数段和 Go语言|Golang 给定两个整数A和B,输出从A到B的所有整数以及这些数的和。
154 0