golang里的类型转换

golang里有几种类型:1.基础数据类型2.复合数据类型

1.基础数据类型

  1. 整数类型:int, int8, int16, int32, int64:int类型的大小取决于平台,32位(四字节),64位(八字节),其他的都是多少数字就是多少位,大转小会丢精度,小转大无压力
  2. 无符号整数类型:uint, uint8, uint16, uint32, uint64:跟 Int型区别不大,就是取值范围没了负数
  3. 浮点数类型:float32, float64:float32 float64类型底层数据表示是用IEEE 754标准表示的,业务环境用的比较少,总的来说就是float64占空间大,精度高,对内存占用要求高且精度要求不高的可以用float32。对浮点数数据类型转换有兴趣的可以直接去搜IEEE754,一般情况下用不上...
  4. 布尔类型:bool 不能和其他值直接转,得做判断是否是0,是否是true...
  5. 字符类型:rune(等同于 int32,用于表示 Unicode 字符)rune底层是int32类型,用于表示unicode字符的类型,可以和int,string里的单个字符互转
  6. 字节类型:byte(等同于 uint8) 可以和Int互转,int值太大转的时候不会报错但是按照%c输出的时候会没有输出,和string里单个字符互转逻辑与rune相同。byte,rune互转,rune转byte大转小可能会丢失数据。

2.复合类型

  1. 数组:数组和数组之间不可以转,除非类型相同长度相同
  2. 切片:数组切片之间可以互相转
  3. 字典(映射):不可
  4. 结构体:字段名称和类型相同就可以转
  5. 接口:可以和具体类型互转
  6. 函数:参数和返回值类型相同可互转
  7. channel:通道的元素类型和方向完全相同的情况下可互转

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值