基于Go Int转string几种方式性能测试
作者:贤冰 时间:2024-05-08 10:17:04
Go语言内置int转string至少有3种方式:
fmt.Sprintf("%d",n)
strconv.Itoa(n)
strconv.FormatInt(n,10)
下面针对这3中方式的性能做一下简单的测试:
package gotest
import (
"fmt"
"strconv"
"testing"
)
func BenchmarkSprintf(b *testing.B) {
n := 10
b.ResetTimer()
for i := 0; i < b.N; i++ {
fmt.Sprintf("%d", n)
}
}
func BenchmarkItoa(b *testing.B) {
n := 10
b.ResetTimer()
for i := 0; i < b.N; i++ {
strconv.Itoa(n)
}
}
func BenchmarkFormatInt(b *testing.B) {
n := int64(10)
b.ResetTimer()
for i := 0; i < b.N; i++ {
strconv.FormatInt(n, 10)
}
}
保存文件为int2string_test.go
执行:
go test -v -bench=. int2string_test.go -benchmem
goos: darwin
goarch: amd64
BenchmarkSprintf-8 20000000 114 ns/op 16 B/op 2 allocs/op
BenchmarkItoa-8 200000000 6.33 ns/op 0 B/op 0 allocs/op
BenchmarkFormatInt-8 300000000 4.10 ns/op 0 B/op 0 allocs/op
PASS
ok command-line-arguments 5.998s
总体来说,strconv.FormatInt()效率最高,fmt.Sprintf()效率最低
补充:Golang类型转换, 整型转换成字符串,字符串转换成整型
看代码吧~
package main
import (
"fmt"
"reflect"
"strconv"
)
func main() {
//字符串转成整型int
num,err:=strconv.Atoi("123")
if err!=nil {
panic(err)
}
fmt.Println(num,reflect.TypeOf(num))
//整型转换成字符串
str:=strconv.Itoa(123)
fmt.Println(str,reflect.TypeOf(str))
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持asp之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/flyfreelyit/article/details/79701577
标签:Go,Int,string
0
投稿
猜你喜欢
Go 在 MongoDB 中常用查询与修改的操作
2024-04-26 17:18:04
javascript面向对象技术基础(三)
2010-02-07 13:11:00
利用python爬取m3u8格式视频的具体实现
2021-04-10 21:45:09
python3正则模块re的使用方法详解
2022-10-14 17:22:16
Mysql事务中Update是否会锁表?
2024-01-14 19:11:33
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2022-11-16 04:14:21
Python趣味挑战之实现简易版音乐播放器
2021-06-25 15:13:43
mysql8.0.19忘记密码处理方法详解
2024-01-16 10:42:22
Python学习之不同数据类型间的转换总结
2021-10-04 06:06:57
python神经网络使用tensorflow构建长短时记忆LSTM
2021-10-13 19:23:39
JS基于面向对象实现的选项卡效果示例
2024-04-19 10:42:56
python产生模拟数据faker库的使用详解
2022-05-25 22:43:35
MySQL Daemon failed to start错误解决办法
2024-01-16 23:22:21
Python实现基于socket的udp传输与接收功能详解
2023-09-04 03:23:20
django3.02模板中的超链接配置实例代码
2021-07-12 01:02:25
ACCESS模糊查询出现"内存溢出"
2009-08-13 14:25:00
Python数据可视化:幂律分布实例详解
2021-08-23 16:27:29
python入门之算法学习
2021-05-16 19:38:19
django将网络中的图片,保存成model中的ImageField的实例
2023-12-23 01:11:33
TensorFlow的自动求导原理分析
2023-06-14 15:22:02