5 类型转换和匹配

类型匹配和类型转换 第四本【第三章】60~69页
---------------------------------类型转换-----------------------------
int系列(含字符) float系列 bool型 string型 四种基础数据类型的转换
【类型转换时,注意二者之间是否有转的原始基础,否则会转成该类型的默认零值】
【多字节空间数据类型和少字节空间数据类型可以互相转,但大空间转小空间可能导致溢出,表现为数值的变化】

1、直接类型强转即可
可用于 int系列(含字符) float系列各自内部和彼此之间的转化; ///也可用于int系列转为string【但这种转化不建议直接强转】
需注意的:多字节空间数据类型和少字节空间数据类型可以互相转,但大空间转小空间可能导致溢出,表现为数值的变化

2、int系列(含字符) float系列 bool型 -----转为----> string型
使用strconv包的函数
使用 fmt包下的fmt.Sprintf函数

3、string型-----转为---->int系列(含字符) float系列 bool型
使用strconv包的函数

---------------------------------类型匹配-----------------------------
1、数据之间在赋值、计算时,需要这些数据之间类型是匹配的
2、int系列的整数【float系列同理】,与同系列的变量在一起时,整数【含字符】会默认自己变成和变量一样的
类型从而不会报类型不匹配的错,但如果有溢出,会报错
如:var a int32 c:= a+1098 不报错
但 var a int8 c := a+1098 会报错 因为1098转成int8类型会溢出
报错为:cannot convert constant 8889 to type int8
另参见:go0ji1chu3/16array0slice/array/example.go:11

---------------------------------值类型&&引用类型-----------------------------
值类型在内存的栈中,
引用类型在内存的堆中,如果没有变量使用该地址,该地址对应的数据空间就会成为垃圾并被GC回收。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值