golang 整型
前言
- 不做文字的搬运工,多做灵感性记录
- 这是平时学习总结的地方,用做知识库
- 平时看到其他文章的相关知识,也会增加到这里
- 随着学习深入,会进行知识拆分和汇总,所以文章会随时更新
- 参考的文章过多、很杂很乱,所以参考会写不全,见谅
整型
- 简单说就是存放整数的
- 整型分为有符号、无符号,int 和 uint 的大小和系统有关
- 默认类型是 int
1.分类
长度 : int - 8,16,32,64
有无符号 : uint int
2.类型
| 类型 | 符号(正负号) | 占用储存空间 | 表数范围 |
|---|---|---|---|
| int8 | 有 | 1字节 | |
| int16 | 有 | 2字节 | |
| int32 | 有 | 4字节 | |
| int64 | 有 | 8字节 | |
| uint8 | 无(从0开始) | 1字节 | |
| uint16 | 无(从0开始) | 2字节 | |
| uint32 | 无(从0开始) | 4字节 | |
| uint64 | 无(从0开始) | 8字节 | |
| uintptr | 无符号整数类型,没有指定具体bit大小,但足以容纳指针 | ||
| rune | |||
| byte | 8bit |
3.类型补充
| 类型 | 有无符号 | 系统 | 所占储存空间 | 表数范围 | 备注 |
|---|---|---|---|---|---|
| int | 有 | 32位系统 | 4个字节 | ||
| 有 | 64位系统 | 8个字节 | |||
| uint | 没有 | 32位系统 | 4个字节 | ||
| 没有 | 64位系统 | 8个字节 | |||
| rune | 有 | 与int32一样 | 等价与int32,便是一个uincode码 | ||
| byte | 没有 | 与int8一样 | 当储存字符时选用byte |
使用细节
uintptr 通常在底层编程时才使用,特别是函数库或操作系统接口相交互的地
Golang程序中整型变量在使用时,遵守保小不保大的原则,
即:在保证程序正确运行下,尽量使用占用空间小的数据类型。
4.补充:
- int类型的处理速度是最快的
- int、uint和uintptr数值大小有可能相等,但是他们是不同的类型。
int和int32也是不同的类型,把int类型当成int32类型使用必须显示的对类型进行转换 - .在二进制传输、读写文件的结构描述时,为保证文件结构不受到不同编译目标平台字节长度的影响,
不要使用int和uint - go中有符号整数采取2的补码的形式表示,也就是最高bit位表示符号位,
- 一个n-bit的
- 有符号数的取值范围是从-2^(n-1)-----2^(n-1)-1
- 无符号整数的所有bit位都用于表示非负数,取值范围是0------2^(n-1)
- 一个n-bit的
跳转
golang 整型的更多相关文章
- golang的数据类型之整型类型
数据类型: 整数 : int, int32, int64, uint, uint32, uint64 字符串 : string 布尔:bool 浮点:float32 float64 uint 表示无符 ...
- Golang的基础数据类型-整型
Golang的基础数据类型-整型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.整型概述 Go语言的整数类型一共有10个. int: 默认是有符号(signed)整形,占用空间 ...
- GOLANG 基本数据类型 整型
基本数据类型-整型 种类 有符号(负号) int8 int16 int32 int64 无符号(无符号) uint8 uint16 uint32 uint64 架构特定(取决于系统位 ...
- 写出将字符串中的数字转换为整型的方法,如:“as31d2v”->312,并写出相应的单元测试,正则去掉非数值、小数点及正负号外的字符串
写出将字符串中的数字转换为整型的方法,如:"as31d2v"->312,并写出相应的单元测试,输入超过int范围时提示不合法输入. public struct Convert ...
- 阿里云提示:对输入参数id未进行正确类型转义,导致整型注入的发生
类似以下提示: XXX.php中,对输入参数id未进行正确类型转义,导致整型注入的发生 解决办法: 找到对应文件:$id = $_GET['id']; 增加以下标红过滤: $id = $_GET['i ...
- 整型信号量和PV操作(计算机操作系统)
在整型信号量机制中,信号量被定义为一个整形变量.除初始化外,仅能通过两个标准的原子操作Wait(S)和Signal(S)来访问.其通常分别被称为P.V操作. 描述如下: P操作:S=S-1:如果S小于 ...
- 面试问题2:给一个5G的大文件,保存的数据为32位的整型,找到所有出现次数超过两次的数字
问题描述:给一个5G的大文件,保存的数据为32位的整型,找到所有出现次数超过两次的数字 大数据操作: 解决方法一: 依次遍历文件数据, 开始32二进制清0 每次读取一个数,先和二进制位与,如果为0 则 ...
- C——整型提升
一.定义 integral promotion: "A character, a short integer, or an integer bit-field, all either sig ...
- python基础知识2——基本的数据类型——整型,长整型,浮点型,字符串
磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 对于Python ...
随机推荐
- 从Excel(CSV)文件导入数据到Oracle
步骤: 1.准备数据:在excel中构造出需要的数据2.将excel中的数据另存为文本文件(有制表符分隔的)3.将新保存到文本文件中的数据导入到pl*sql中在pl*sql中选择tools--text ...
- Docker部署LNMP完整教程
在Docker中部署LNMP环境可以分为以下几个步骤: 安装Docker 创建镜像 创建Dockerfile build Docerfile 复制/修改配置文件 运行镜像,并映射端口 为了方便分布式部 ...
- Guava集合--新集合类型
Guava引入了很多JDK没有的.但我们发现明显有用的新集合类型.这些新类型是为了和JDK集合框架共存,而没有往JDK集合抽象中硬塞其他概念.作为一般规则,Guava集合非常精准地遵循了JDK接口契约 ...
- git push到远程新分支
获取远程代码并在本地切换到一个新分支修改后,想要 push 到远端与原来不同的新分支,可以使用下面的命令实现: git push origin 本地分支:远端希望创建的分支 上面的本地分支 是基于拉取 ...
- 题解 洛谷 P4098 【[HEOI2013]ALO 】
考虑原序列中的每一个值作为构成最终答案的那个次大值,那么其所在的合法区间最大时,其对答案的贡献最大. 一个值作为最大值时有两个合法的最大区间,一个是左边第二个比其大的位置和右边第一个比其大的位置构成的 ...
- 最大连续区间(HDU-1540)
HDU1540 线段树最大连续区间. 给定长度为n的数组,m次操作. 操作D,删除给定节点. 操作R,恢复最后一个删除的节点. 操作Q,询问给定节点的最大连续区间 维护三个值,区间的最大左连续区间,最 ...
- [转载]android网络通信解析
原文地址:android网络通信解析作者:clunyes 网络编程的目的就是直接戒间接地通过网络协议不其他计算机进行通讯. 网络编程中有两个主要的问题, 一个是如何准确的定位网络上一台戒多台指主机: ...
- 删除表中重复数据,只删除重复数据中ID最小的
delete t_xxx_user where recid in ( select recid from t_xxx_user where recid in ( select min(recid) f ...
- Android性能优化----卡顿优化
前言 无论是启动,内存,布局等等这些优化,最终的目的就是为了应用不卡顿.应用的体验性好坏,最直观的表现就是应用的流畅程度,用户不知道什么启动优化,内存不足,等等,应用卡顿,那么这个应用就不行,被卸载的 ...
- Oracle 忘记密码 如何修改
原文链接:https://jingyan.baidu.com/article/358570f6aaa1efce4724fcdf.html ️打开运行窗口 ️输入sqlplus "/ as s ...