go 数据类型转换

数据类型转换, 即将一种数据类型转换成另一种数据类型

go语言不同于其它类c语言, go语言中的类型转换都必须要显示转换

即不存在默认数据类型转换, 如: 

var a int = 1;  var b float32 = a  这是错的

go语言数据转换基本语法: 数据类型(表达式),

如: var a int = 1;  var b float32 = float32(a)

 

浮点型与整型转换: 

func main() {
    var a float32 = 1.9999
    var b = int(a)				// 1, 小数部分被省略掉
    var c = float64(b)
    fmt.Println(c)				// 1
}

go中数据类型可以从小到大转换, 也可以从大到小转换

func main() {
    var a int16 = 10
    var b int32 = int32(a)		// 小到大
    var c int16 = int16(b)		// 大到小
    fmt.Println(c)
    fmt.Printf("%T", a)		        // int16
}

数据类型转换后, 之前的变量类型不会发生变化, 如上a的类型还是int16

在转换过程中可能会发生数据错误:

func main() {
    var a int = 1000
    var b int8 = int8(a)    // int8的范围是-128~127
    fmt.Println(b)          // 结果为-24, 这并不是我们希望的结果
}

在转换时, 应当注意转换后的数据是否能完全容纳

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值