Golang与Java、C等其他语言不同,在不同的数据类型的变量之间赋值的时候,需要显式的转换,也就是说Golang中数据类型不能自动转换。不管是低精度到高精度,还是高精度到低精度,都需要显式的转换。
基本语法
表达式:T(v),T为数据类型,v是需要转换的为V类型的变量。
示例
var i8 int8 = 100
var f32 float32 = float32(i8)
fmt.Printf("f32=%f\n", f32)
var i32 int32 = int32(i8)
fmt.Printf("i32=%d\n", i32)
//f32=100.000000
//i32=100
转换溢出(编译不会报错)
var i8 int8
var i64 int64 = 123123123
i8 = int8(i64)
fmt.Printf("i8=%d\n", i8)
//i8=-77