Golang的基础数据类型-整型

                            作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.整型概述

  Go语言的整数类型一共有10个。
    int:
      默认是有符号(signed)整形,占用空间大小取决于操作系统设定数据的值,初始值为0。
    uint:
      无符号整形,前面的字符u表示无符号("unsigned"),即二进制最高位的符号位不在表示正负数了。下面只要前面加u的都是这个意思,我就不一一赘述啦。
      占用空间大小取决于操作系统设定数据的值,初始值为0。
    int8:
      占用一个字节大小,取值范围为-~,初始值为0。
    uint8:
      占用一个字节大小,取值范围为0~,初始值为0。
    int16:
      占用两个字节,取值范围为-~,初始值为0。
    uint16:
      占用两个字节,取值范围为0~,初始化值为0。
    int32:
      占用四个字节,取值范围为- ~ ,初始值为0。
    uint32:
      占用四个字节,取值范围为0 ~ (42亿),初始化为0。
    int64:
      占用八个字节,取值范围为- ~,初始化为0。
    uint64:
      占用八个字节,取值范围为0 ~ (1844京),初始化为0。   大多数情况下,我们只需要 int 一种整型即可,它可以用于循环计数器、数组和切片的索引,以及任何通用目的的整型运算符,通常int类型的处理速度也是最快的。因为这是操纵系统根据字节的计算架构自动调整最佳的int类型。

二.整型简单应用案例

1>.int/uint使用案例

package main

import (
"fmt"
) func main() {
/*
int:
默认是有符号(signed)整形,其宽度与操作系统有关,因此占用空间大小取决于操作系统设定数据的值,初始值为0。
uint:
无符号整形,前面的字符u表示无符号("unsigned"),即二进制最高位的符号位不在表示正负数了。
其宽度与操作系统有关,因此占用空间大小取决于操作系统设定数据的值,初始值为0。 温馨提示:
(1)默认使用自动推导类型创建的整数均为int;
(2)int和uint在内存中占的大小和操作系统相关,如下所示:
1>.在32为操作系统下int相当于int32,uint相当于uint32
2>.在64位操作系统下int相当于int64,uint相当于uint64
(3)int和int64是不同的数据类型,操作时需要类型转换;
(4)如果超出整数数据类型的表示范围我们称之为数据溢出,计算机处理的机制就是高位截断,只截取低位运算,感兴趣的小伙伴可自行阅读原码,反码和补码,我在下面有推荐链接;
(5)整数的补码才是在计算机中的存储形式,举个例子:
var a int 8 = 127
a = a + 2 //0111 1111 + 0000 0010 = 1000 0001
fmt.Println(a) //我们看到a是有符号int类型,由于计算机以补码的形式存储,因此输出结果为-127, 关于原码反码补码的基础知识扫盲,博主推荐阅读:
https://www.cnblogs.com/yinzhengjie/p/8666354.html
*/
a := - //表示int8的最小值
b := //表示uint8的最小值
fmt.Printf("a的类型为:[%T],a的值为:[%d]\n", a, a)
fmt.Printf("b的类型为:[%T],b的值为:[%d]\n", b, b) c := - //表示int16的最小值
d := //表示uint16的最大值
fmt.Printf("c的类型为:[%T],c的值为:[%d]\n", c, c)
fmt.Printf("d的类型为:[%T],d的值为:[%d]\n", d, d) e := - //表示int32的最小值
f := //表示uint32的最大值
fmt.Printf("e的类型为:[%T],e的值为:[%d]\n", e, e)
fmt.Printf("f的类型为:[%T],f的值为:[%d]\n", f, f) g := - //表示int64的最小值
/*
温馨提示:
下面这条注释语句会编译报错的,由于默认使用自动推导类型创建整数型均为int类型,因此无法表示uint64类型的最大值
*/
//h := 18446744073709551615
var h uint = //我们想要使用uint64最大值需要声明数据类型为uint
fmt.Printf("g的类型为:[%T],g的值为:[%d]\n", g, g)
fmt.Printf("h的类型为:[%T],h的值为:[%d]\n", h, h)
}

2>.int8/uint8使用案例

package main

import (
"fmt"
) func main() { /*
int8:
    占用一个字节大小,取值范围为-128~127,初始值为0。
  uint8:
    占用一个字节大小,取值范围为0~255,初始值为0。
*/
var a int8 = -
var b uint8 = fmt.Printf("a的类型为:[%T],a的值为:[%d]\n", a, a)
fmt.Printf("b的类型为:[%T],b的值为:[%d]\n", b, b)
}

3>.int16/uint16使用案例

package main

import "fmt"

func main() {

    /*
int16:
    占用两个字节,取值范围为-32768~32767,初始值为0。
uint16:
    占用两个字节,取值范围为0~65535,初始化值为0。
*/
var a int16 = -
var b uint16 = fmt.Printf("a的类型为:[%T],a的值为:[%d]\n", a, a)
fmt.Printf("b的类型为:[%T],b的值为:[%d]\n", b, b)
}

4>.int32/uint32使用案例

package main

import "fmt"

func main() {

    /*
int32:
  占用四个字节,取值范围为-2147483648 ~ 2147483647,初始值为0。
uint32:
  占用四个字节,取值范围为0 ~ 4294967295(42亿),初始化为0。
*/
var a int32 = -
var b uint32 = fmt.Printf("a的类型为:[%T],a的值为:[%d]\n", a, a)
fmt.Printf("a的类型为:[%T],b的值为:[%d]\n", b, b)
}

5>.int64/uint64使用案例

package main

import "fmt"

func main() {

    /*
int64:
占用八个字节,取值范围为-9223372036854775808 ~9223372036854775807,初始化为0。
uint64:
    占用八个字节,取值范围为0 ~ 18446744073709551615(1844京),初始化为0。
*/
var a int64 = -
var b uint64 = fmt.Printf("a的类型为:[%T],a的值为:[%d]\n", a, a)
fmt.Printf("b的类型为:[%T],b的值为:[%d]\n", b, b)
}

Golang的基础数据类型-整型的更多相关文章

  1. Golang的基础数据类型-字符串型

    Golang的基础数据类型-字符串型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 上一篇博客学习了使用单引号括起来的单个字符就是字符类型,在Golang中有两种表 ...

  2. Golang的基础数据类型-字符型

    Golang的基础数据类型-字符型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 Go语言中的字符有两种,即uint8类型和rune类型. uint8类型: 我们也 ...

  3. Golang的基础数据类型-布尔型

    Golang的基础数据类型-布尔型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.bool类型概述 bool类型的取值范围: bool类型的值只有两种,其值不为真即为假,可以用 ...

  4. [日常] Go语言圣经--作用域,基础数据类型,整型

    go语言圣经-作用域 1.一个声明语句将程序中的实体和一个名字关联,比如一个函数或一个变量 2.一个变量的生命周期是指程序运行时变量存在的有效时间段;声明语句的作用域对应的是一个源代码的文本区域,它是 ...

  5. GOLANG 基本数据类型 整型

    基本数据类型-整型 种类     有符号(负号)      int8 int16 int32 int64 无符号(无符号) uint8 uint16 uint32 uint64 架构特定(取决于系统位 ...

  6. Golang的基础数据类型-浮点型

    Golang的基础数据类型-浮点型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.浮点型概述 Go语言提供两种精度的浮点数,即float32和float64,其中float32 ...

  7. GO语言学习——基本数据类型——整型、浮点型、复数、布尔值、fmt占位符

    基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8.int16.int32.int64 对应的无符号整型:uint8.uint16.uint32.uint64 其中,uint8就是我们熟 ...

  8. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

  9. python基础知识2——基本的数据类型——整型,长整型,浮点型,字符串

    磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 对于Python ...

随机推荐

  1. 学习笔记(11)- 文本生成RNNLG

    https://github.com/shawnwun/RNNLG 数据集 给出了4个行业的语料,餐馆.酒店.电脑.电视,及其组合数据. 数据格式 任务 根据给定格式的命令,生成自然语言. 方法.模型 ...

  2. C++获取驱动盘句柄

    转载:https://www.cnblogs.com/sherlock-merlin/p/10792116.html     https://univasity.iteye.com/blog/8052 ...

  3. Java 自定义DateUtils

    1 /* Date d = new Date(); String s = DateUtils.DateToString(d, "yyyy-MM-dd HH:mm:ss"); Sys ...

  4. [原]JointJS流程图

    最近项目上需要用流程图来做问题定界分析,之前有同事用jsPlumb做过,但是阅读代码后觉得比较麻烦,所以自己又找了一圈,找到一个叫Dagre-D3的开源类库,画出来的效果如下图,Dagre-D3最大的 ...

  5. Kubernetes 1.17.2 高可用部署

    20.0.0.200    10.0.0.200 bs-k8s-master01 管理节点 2c2g 20.0.0.201    10.0.0.201 bs-k8s-master02 管理节点 2c2 ...

  6. 《精通iOS开发》书籍目录

    1.欢迎来到iOS和Swift世界 2.创建一个新项目 3.实现基本交互 4.更丰富的用户界面 5.自动旋转和自动调整大小 6.多视图应用 7.分页栏与选取器 8.表视图简介 9.导航控制器和表视图 ...

  7. 对C/C++指针问题的彻底理解(复习1)

    理解第一篇 上完大学不是我吹(仅仅说我认识的本学校本专业)估计很明白指针的人绝对不超过百分之50,学校low不low另说(因为问他们讲得断断续续的自己也说不明白,只知道那样可以用) 学链表树形结构.. ...

  8. 新闻网大数据实时分析可视化系统项目——6、HBase分布式集群部署与设计

    HBase是一个高可靠.高性能.面向列.可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群. HBase 是Google Bigtable 的开源实现,与 ...

  9. Jquery - ajax url路径问题

    Jquery - ajax url路径问题 2016年04月26日 09:59:27 yuxuac 阅读数 32308    版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

  10. for 循环遍历数据动态渲染html

    本案例通过ajax动态获取数据,然后遍历出数据渲染html小心踩坑:因为有时候不注意,渲染页面的时候只能输出最后一个数据所以正确写法为下:如果AJAX数据请求成功的情况下: html <div ...