欢迎光临散文网 会员登陆 & 注册

3.15

2023-03-15 15:48 作者:诸葛孔明瑾  | 我要投稿

1、int8,int16,int32,int64有什么区别

int后面的数字代表这个数据类型占据的空间,8就占据1个在字节,相当于数据类型是(Byte),16占据2个字节(short),32占据4个字节(int),64占据8个字节(long)

在 Go 语言中,int8int16int32int64 是整数类型,这些类型的数值范围如下:

  • int8:有符号 8 位整数,范围为 -128127

  • int16:有符号 16 位整数,范围为 -3276832767

  • int32:有符号 32 位整数,范围为 -21474836482147483647

  • int64:有符号 64 位整数,范围为 -92233720368547758089223372036854775807(小于unit64,63位,有符号)

需要注意的是,这些类型的大小和范围在不同的计算机体系结构和编译器中可能会有所不同。因此,编写可移植的代码时,需要根据特定的情况进行相应的调整。

Go 语言还提供了对应的无符号整数类型

  • uint8: 0 到 255

  • uint16:0 到 65535

  • uint32 :0 到 4294967295

  •  uint64, 0 到 18446744073709551615(大,64位,无符号)

拓展:

存储:信息的存储单位有位,字节,和字

位:bit

字节:每8位(bit)一个Byte,计算机中存储,和处理至少需要一个字节

字:1个字2个字节,汉字的存储单位是字

编码:

ASCIIS码: 1个英文字母(不分大小写,含asclls码)= 1个字节的空间

       1个中文汉字 = 2个字节

UTF-8编码:1个英文字符(含标点) = 1个字节

                     1个中文(含繁体,标点) = 3个字节

Unicode编码:1个英文字符 = 2个字节

                      英文标点  = 2个字节

                      1个中文(含繁体,标点) = 2个字节

big.Int 类型的整数不能直接与 uint64 类型的整数进行计算和操作,big1 是一个 big.Int 类型的整数,可以表示比 int64 类型更大的整数。big2big1 转换为 uint64 类型的整数。如果需要使用 big1 进行超出 int64 类型范围的计算,就需要将其转换为 uint64 类型的整数。


2、interface{} 类型相当于一个万能类型,可以用来表示任意类型的值。因此,使用 []interface{} 类型的切片可以存储任意类型的值,但是在使用这些值时需要进行类型断言(type assertion)


3.15的评论 (共 条)

分享到微博请遵守国家法律