Golang下int、float和String之间的转换
- int => string
1 | string := strconv.Itoa(int) |
其原理是FormatInt(int64(i), 10)
。
- string => int
1 | int, err := strconv.Atoi(string) |
- int64,int32,int16,int8 => string
1 | string := strconv.FormatInt(int64,10) |
- string => int系列
1 | int, err := strconv.ParseInt(string, 10, 64) // 64,32,16,8分别对应int系列 |
然后将结果强转成对应的类型。
- float系列 => string
1 | string := strconv.FormatFloat(float64,'E',-1,64) |
- string => float系列
1 | float,err := strconv.ParseFloat(string,64) |
附
使用fmt.Sprintf("%d", int)
来转换int成string时,相对于使用strconv.FormatInt
,性能差了很多。