go语言里字符串和其他类型的转换,大多使用strconv包里的一些函数,如FormatInt是把一个int类型格式化成string,ParseInt是把一个string解析成int。对应的FormatFloat,ParseFloat是针对浮点数和string之间的转换。如下所示:
var num int = 100
str := strconv.FormatInt(int64(num), 10) //将一个int转换为string,需要强制转成int64
fmt.Printf("type:%T,value:%v\n ", str, str)
numz ,err:= strconv.ParseInt(str, 10, 0) //将一个string按10进制数转换为int64
if err!=nil {
fmt.Println("转换失败:",err)
} else {
fmt.Printf("type:%T,value:%v\n ", numz, numz)
}
在fmt包里的Sprintf是格式化输出到string的,可以灵活将各种类型数据转成string,如下所示:
str=fmt.Sprintf("这是转换后的string:%d\n",num)
fmt.Println(str)