类型转换

类型转换

	//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)
原文地址:https://www.cnblogs.com/kikochz/p/13437279.html