注意:
- 在go语言中,不同类型变量之间的赋值需要显示转换,类型不能自动转换
- 被转换的是变量存储的数据(值),变量本身的数据类型不变
- 大范围转换成小范围(例如:int64->int8),编译时不会报错,只是转换结果按溢出处理
基本语法:
表达式T(v)将v转换成类型T
T:就是数据类型,例如:int32,int64,float32等
v:就是需要转换的变量
var i int32 = 22
var i1 float32 = float32(i) // 转换成float32
var i2 int8 = int8(i) // 转换成int8
var i3 int64 = int64(i) // 转换成int64
fmt.Printf("type: %T", i) // int32
案例
var n1 int32 = 12
var n2 int64
var n3 int
// 数值会自动转换成对应的类型
n2 = int64(n1) + 11 // int64
n3 = int8(n1) + 11 // int8