1.类型转换代码
Int32转换为int16会丢失精度,这是总所周知的,但是具体如何丢失精度的,请看下面的代码:
var tmp1 int32 = 123424021
var tmp2 int16
var tmp3 uint16
tmp2 = int16(tmp1)
tmp3 = uint16(tmp1)
fmt.Printf("0x%x,%b,%d\n",tmp1,tmp1,tmp1);
fmt.Printf("0x%x,%b,%d\n",tmp2,tmp2,tmp2);
fmt.Printf("0x%x,%b,%d\n",tmp3,tmp3,tmp3);
fmt.Printf("====================================\n")
var t1 int32 = 123456789
var t2 int16
var t3 uint16
t2 = int16(t