温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在golang中将Int转换为string

发布时间:2021-04-29 15:59:44 来源:亿速云 阅读:4298 作者:Leah 栏目:开发技术

这期内容当中小编将会给大家带来有关怎么在golang中将Int转换为string,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

什么是golang

golang 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,其语法与 C语言相近,但并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能。

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)) }

上述就是小编为大家分享的怎么在golang中将Int转换为string了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI