类型转换
//go不存在类型自动提升,如果类型不同,就必须强转
num := 32 //默认使用int32
var convert1 = int8(num) //强转为int8
var convert2 = int64(convert1) //强转为int64
fnum := 10.101 //默认使用float64
var convert3 = float32(fnum) //存在精度丢失
fmt.Println(convert2)
fmt.Println(convert3)
基本类型转string
sprint := fmt.Sprint(100) //默认按照十进制转换
sprint = fmt.Sprint(true)
sprint = fmt.Sprintf("%f", 1000.01)//按照float64转换
sprint = strconv.FormatInt(100, 2)//按照指定进制转换
fmt.Printf("type = %T, value= %v
",sprint,sprint)
string转基本类型
//_表示忽略输出该位置的返回值
//在允许范围内bitSize,都会转为int64, base指定string的进制
ParseInt, _ := strconv.ParseInt("10001", 2, 8)
//在允许范围内bitSize,都会转为float64
ParseFloat, _ := strconv.ParseFloat("100.01", 32)
fmt.Printf("ParseInt type = %T, value= %v
",ParseInt,ParseInt)
fmt.Printf("ParseFloat type = %T, value= %v
",ParseFloat,ParseFloat)