1、表达式: T(v)
含义: 将值v转换为类型T
var i int32 = 32 var f float64 = float64(i) var u unit8 = unit8(i)
2、基本类型转string类型
使用strconv包的函数
func FormatBool(b bool) string
func FormatInt(i int64, base int) string
func FormatUint(i uint64, base int) string
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
func Itoa(i int) string
var n3 int64 = 999 var n4 float64 = 56.420 var n5 uint = 888 var b1 bool = false var n6 int = 222 str = strconv.FormatInt(n3,10) // 10表示十进制 str = strconv.FormatFloat(n4,'f',10,64) // 'f'表示按照-ddd.dddd格式输出,10表示小数位保留10位,64:表示这个小数是float64 str = strconv.FormatUint(uint64(n5),10) // 10表示十进制 str = strconv.FormatBool(b1) str = strconv.Itoa(n6)
3、string类型转基本数据类型
使用strconv里的函数:
func ParseBool(str string) (value bool, err error)
func ParseInt(s string, base int, bitSize int) (i int64, err error)
func ParseUint(s string, base int, bitSize int) (n uint64, err error)
func ParseFloat(s string, bitSize int) (f float64, err error)
func Atoi(s string) (i int, err error)
var str1 string = "false" b,_:= strconv.ParseBool(str1) // _表示忽略第二个返回值 var str2 string = "1234" num2,_:= strconv.ParseInt(str2,10,64) // 10表示10进制,64表示int64(无溢出赋值的整数类型) var str3 string = "4567" num3,_:= strconv.Atoi(str3) var str4 string = "8910" num4,_:= strconv.ParseUint(str4,10,64) // 10表示10进制,64表示int64(无溢出赋值的整数类型) var str5 string = "12.3645" num5,_:= strconv.ParseFloat(str5,10) // 10表示10进制
4、特殊情况
将string转成基本数据类型时,要确保string类型能够转成成效的数据,否则都为基本类型的默认值
例如:把"hello"转成一个整数,将其变为0,其他类型也一样float32变为0,bool变为false等