Go 变量 整数类型

网友投稿 597 2022-11-30

Go 变量 整数类型

Go 变量 整数类型

整形

每种数值类型都决定了对应的大小范围和是否支持正负符号。

类型名

字节宽度

取值范围

int

与平台有关

32 位系统 4 字节,64 位系统 8 字节 有符号整型

uint

与平台有关

32 位 系统 4 字节,64 位 系统 8 字节 无符号整形

int8

1 字节

用 8 位表示的有符号整型 取值范围为:[-128, 127]

int16

2 字节

用 16 位表示的有符号整型 取值范围为:[-32768,32767]

int32

4 字节

用 32 位表示的有符号整型,取值范围为:[-2147483648,2147483647]

int64

8 字节

用 64 位表示的有符号整型,取值范围为:[-9223372036854775808,9223372036854775807]

uint8

1 字节

用 8 位表示的无符号整型,取值范围为:[0,255]

uint16

2 字节

用 16 位表示的无符号整型,取值范围为:[0,65535]

uint32

4 字节

用 32 位表示的无符号整型,取值范围为:[0,4294967295]

uint64

8 字节

用 64 位表示的无符号整型,取值范围为:[0,18446744073709551615]

uintptr

与平台有关

32 位系统 4 字节,64 位系统 8 字节指针值的无符号整型

整数的类型

这里有int8、int16、int32和int64四种截然不同大小的有符号整形数类型,分别对应8、16、32、64bit大小的有符号整形数,与此对应的是uint8、 uint16、uint32和uint64四种无符号整形数类型。

占用的存储空间不一样,直接导致的是表示数的范围不一样。

占有的字节里面其中第一个比特是用来表示符号,剩下的才用来表示数本身的值。-128其实就是-2^7 - 2^7 -1

那么它的第一位可以用来表示数值,也就是表示数本身。2^8 -1 =255

在做开发的时候要根据你表示数的范围来选取合适的数据类型,有符号或者无符号的。

int表示几个字节,和系统有关系,比如32位的系统,那么占4个字节,如果是64位系统那么占8个字节。

rune表示unicode码,用其处理带有中文的字符串特别有用。

byte存储当额字母的时候选用byte来存储。

整型的使用细节

1)Golang各整数类型分∶有符号和无符号,int uint 的大小和系统有关。

3)如何在程序查看某个变量的字节大小和数据类型

d := 10 fmt.Printf("%T,%d",d,unsafe.Sizeof(d))]]]int,8

4)Golang程序中整型变量在使用时,遵守保小不保大的原则,即∶在保证程序正

确运行下,尽量使用占用空间小的数据类型。【如∶年龄】

5)bit∶计算机中的最小存储单位。byte∶计算机中基本存储单元。【二进制再详细说】

一个byte等于8个bit。

扩展

进程内存结构:

栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中(new 出来的对象)堆: 存放用new产生的数据

值类型和引用类型 是什么?

值类型: 这段内存里面存储的是基本类型的数据, 比如 "a", 10, 0.01引用类型: 这段内存里面存储的是一个地址, 比如 0xc00011e370 0xc00011e380

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Go 文件读取 一次性读取
下一篇:Kubernetes 调度 Pod 亲和调度
相关文章

 发表评论

暂时没有评论,来抢沙发吧~