go int类型转string类型

版权声明:本文为CSDN博主「duzhenxun」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/duzhenxun/article/details/95739946

2个值做对比时要先注意他们的类型.如果一个string与一个in32不能直接对比.先要转换类型

如果使用Itoa需要一个int,使用FormatInt需要一个int64,

最简单的方法是使用fmt.Sprint(int32),但效率比较低

  1. fmt.Sprint(i) 比较慢
1
2
3
4
5
6
7
func Sprint(a ...interface{}) string {
p := newPrinter()
p.doPrint(a)
s := string(p.buf)
p.free()
return s
}
  1. strconv.Itoa(int(i))
1
2
3
func Itoa(i int) string {
return FormatInt(int64(i), 10)
}
1
2
3
4
5
strconv.FormatInt(int64(i), 10)
func FormatInt(i int64, base int) string {
_, s := formatBits(nil, uint64(i), base, i < 0, false)
return s
}
  1. string转成int:

int, err := strconv.Atoi(string)

  1. string转成int64:

int64, err := strconv.ParseInt(string, 10, 64)