这期内容当中小编将会给大家带来有关怎么在golang中将Int转换为string,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
什么是golang
golang 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,其语法与 C语言相近,但并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能。
Go语言内置int转string至少有3种方式:
fmt.Sprintf("%d",n)strconv.Itoa(n)strconv.FormatInt(n,10)
下面针对这3中方式的性能做一下简单的测试:
package gotestimport ("fmt""strconv""testing")func BenchmarkSprintf(b *testing.B) {n := 10b.ResetTimer()for i := 0; i < b.N; i++ {fmt.Sprintf("%d", n)}}func BenchmarkItoa(b *testing.B) {n := 10b.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: darwingoarch: amd64BenchmarkSprintf-8 20000000 114 ns/op 16 B/op 2 allocs/opBenchmarkItoa-8 200000000 6.33 ns/op 0 B/op 0 allocs/opBenchmarkFormatInt-8 300000000 4.10 ns/op 0 B/op 0 allocs/opPASSok 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))}
上述就是小编为大家分享的怎么在golang中将Int转换为string了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。