我需要在 Golang 中将 — 转换为 int32
string
。 Is it possible to convert int32
to string
in Golang without converting to int
or int64
first?
Itoa
需要一个 int
。 FormatInt
需要一个 int64
。
原文由 codefx 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要在 Golang 中将 — 转换为 int32
string
。 Is it possible to convert int32
to string
in Golang without converting to int
or int64
first?
Itoa
需要一个 int
。 FormatInt
需要一个 int64
。
原文由 codefx 发布,翻译遵循 CC BY-SA 4.0 许可协议
Sprint 函数将给定值转换为字符串。
package main
import (
"fmt"
)
func main() {
var sampleInt int32 = 1
sampleString := fmt.Sprint(sampleInt)
fmt.Printf("%+V %+V\n", sampleInt, sampleString)
}
// %!V(int32=+1) %!V(string=1)
请参阅此 示例。
原文由 Ben Campbell 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
6 回答6.9k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答2k 阅读✓ 已解决
1 回答3.4k 阅读
2 回答2.2k 阅读
1 回答2.1k 阅读
一行答案是
fmt.Sprint(i)
。无论如何,有很多转换,甚至在像
fmt.Sprint(i)
这样的标准库函数中,所以你有一些选择(试试 The Go Playground ):1-您可以编写转换函数( 最快):
2-您可以使用
fmt.Sprint(i)
( 慢)看里面:
3-您可以使用
strconv.Itoa(int(i))
( 快速)看里面:
4-您可以使用
strconv.FormatInt(int64(i), 10)
( 更快)看里面:
比较和基准(50000000 次迭代):
代码: