在 Go 中将 Int32 转换为 String:超越 Int 和 Int64
在 Go 中,无需将 int32 转换为字符串即可完成用于到 int 或 int64 的中间转换。以下是实现此目的的几种方法:
1。使用 fmt.Sprint(i)
s := fmt.Sprint(i)
此方法提供了一种简单的单行解决方案。
2.创建自定义转换函数
为了获得最佳性能,可以创建自定义转换函数:
func String(n int32) string { // Implementation details return string(buf[pos:]) }
3.使用 strconv.Itoa(int(i))
s := strconv.Itoa(int(i))
虽然这种方法需要先转换为 int,但它提供了相对快速的解决方案。
4.使用 strconv.FormatInt(int64(i), 10)
s := strconv.FormatInt(int64(i), 10)
此方法执行速度比 strconv.Itoa 更快,因为它直接将 int32 转换为字符串。
性能比较
为了比较这些方法的效率,进行了 5000 万次迭代的基准测试:
Method | Time Taken |
---|---|
String | 5.5923198s |
String2 | 5.5923199s |
strconv.FormatInt(int64(i), 10) | 5.9133382s |
strconv.Itoa(int(i)) | 5.9763418s |
fmt.Sprint(i) | 13.5697761s |
从结果中可以看出,自定义转换函数 String 提供了最快的执行时间。
以上是如何在 Go 中将 Int32 转换为字符串:哪种方法最快?的详细内容。更多信息请关注PHP中文网其他相关文章!