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 ...
随机推荐
- Ethical Hacking - NETWORK PENETRATION TESTING(1)
Pre--Connection-Attacks that can be done before connecting to the network. Gaining Access - How to b ...
- Eclipse点击空格总是自动补全代码怎么办,如何自动补全代码,代码提示
Eclipse点击空格总是自动补全不想要的代码说明大家配置的时候出现了一点错误,下面的步骤将会解决它, 网上部分经验需要大家更改代码非常繁琐,下面是一个简单的步骤方法 步骤一:打开eclipse依次点 ...
- javascript兼容问题 : let降级到var 遇到的闭包问题的解决方法
我用 for(let x in y) 循环一个图片元素数组. for (let x in arr) { arr[x].onload = function(){ /* ... */ } } 这样写是没 ...
- 03 AMD规范的基础使用详解
AMD模块规范 1.1 AMD规范说明 AMD规范专门用来实现浏览器端的模块化,并且模块的加载是异步的:引入一个第三方的require.js脚本用来解析AMD规范编写的模块 1.2 基本语法 使用de ...
- Monster Audio 使用教程(四)Wifi 远程遥控
Android端下载二维码:(链接指向的是apk包地址,所以微信可能打不开,请用自带浏览器扫描二维码) IOS下载二维码: 安装好上面的app,确保你的移动端设备和你电脑连接的是同一个路由器(也就是 ...
- 按钮放到图片上,z-index和绝对定位
说明: 最近在做一个banner轮播图 图的左下方有个 登录的按钮. 按钮死活都放不到图片上边,css太菜 特此记录一下 摆放下效果: 无论 轮播图怎么动 按钮不动 思路: 布局 banner轮 ...
- xctf-pwn hello_pwn
走流程,看看文件类型 64位,开了NX 直接丢IDA分析 查看sub_400686() 是个给flag的函数,可以看到,只要满足if语句的条件使dword_60106C == 1853186401就可 ...
- 面试题之----禁掉cookie的session使用方案
方式一:通过 url 传值,把session id附加到url上 缺点:整个站点中不能有纯静态页面,因为纯静态页面session id 将无法继续传到下一页面 方式二:通过隐藏表单,把session ...
- 【前端】H5,底边按钮吸边,但是覆盖了列表循环的内容
我的说情况大致类似于: PS:因为底边那个模块 绝对是浮动的,所有会遮住列表最下面一条现实的一部分, 解决:这个时候把body的底边的内边距调整到可显示的就可以了: body { background ...
- ES6 class继承的简单应用
class的好处就是让继承的实现更加简单,语法简单,理解起来也不复杂,但是现在只能做测试使用,项目中需要用Babel工具. <!DOCTYPE html> <html> < ...