Golang系列之整数类型基本介绍,整数类型,简单来说,就是用于存放整数值的类型,也可以简称为整型。每门编程语言都有对应的数据类型,在golang中的整数类型要怎么使用?请看本博客
简单来说,就是用于存放整数值的类型,也可以简称为整型
有符号整型对比:
类型 | 有无符号 | 占用存储空间大小 | 范围 | 备注 |
---|---|---|---|---|
int8 | 有 | 1字节 | -128~127 | |
int16 | 有 | 2字节 | -215 ~ 215-1 | |
int32 | 有 | 4字节 | -231 ~ 2 31-1 | |
int64 | 有 | 8字节 | -263 ~ 2 63-1 |
无符号整型对比:
类型 | 有无符号 | 占用存储空间大小 | 范围 | 备注 |
---|---|---|---|---|
uint8 | 无 | 1字节 | 0 ~ 255 | |
uint16 | 无 | 2字节 | 0 ~ 216-1 | |
uint32 | 无 | 4字节 | 0 ~ 2 32-1 | |
uint64 | 无 | 8字节 | 0 ~ 2 64-1 |
整型的类型:
类型 | 有无符号 | 占用存储空间大小 | 范围 | 备注 |
---|---|---|---|---|
int | 有 | 32位操作系统4个字节,64位操作系统8个字节 | -231 ~ 2 31-1 或 -263 ~ 2 63-1 | |
uint | 无 | 32位操作系统4个字节,64位操作系统8个字节 | 0 ~ 232-1 或 0 ~ 264-1 | |
rune | 有 | 与int32一样,4个字节 | -231 ~ 2 31-1 | 等价于int32,表示一个Unicode码 |
byte | 无 | 与uint8一样,1个字节 | 0 ~ 255 | 当要存储字符时选用byte |
var r rune = 1
fmt.Printf("r类型%T" , r)
var b byte = 1
fmt.Printf("b类型%T" , b)
i数据类型:int
r类型int32b类型uint8
int
和uint
类型的大小和操作系统有关系,在32位操作系统和64位操作系统,int
和uint
字节大小是不一样的int
类型var n1 = 100
// 打印int
fmt.Printf("n1的类型:%T", n1)
var n int16
fmt.Printf("n变量占用的字节数:%d \n" , unsafe.Sizeof(n))
n变量占用的字节数:2
int
和int16
是不同的数据类型,以此类推var intV1 int16
// 默认为int类型
intV2 := 10
// 两种不同类型不能赋值
intV1 = intV2
使用强制类型转换可以解决这个错误:
intV1 = int8(intV2)) // 编译通过
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://smilenicky.blog.csdn.net/article/details/122621734
内容来源于网络,如有侵权,请联系作者删除!