总体来说,strconv.FormatInt()效率最高,fmt.Sprintf()效率最低
如果我们查看strconv.Itoa源码,会发现strconv.Itoa其实是strconv.FormatInt的一个特殊情况。 // Itoa is shorthand for FormatInt(int64(i), 10).funcItoa(iint)string{returnFormatInt(int64(i),10)} 现在int 转 string 的高性能源码剖析,就变成了重点剖析FormatInt。 FormatInt 深入剖析 基于Go 1.21 版本的...
1. int转string 2. float转string 3. bool转string 4. char 转 string 回到顶部 1. int转string // 法1: int转string num_int := 10 num_str_2 := fmt.Sprintf("%b", num_int) fmt.Printf("num_int的数据类型是%T, num_str_2的数据类型是%T, num_str_2=%s\n", num_int, num_str_2...
intstring.go:5 0x10ae760 4c8d6424e8 LEAQ -0x18(SP), R12 intstring.go:5 0x10ae765 4d3b6610 CMPQ R12, 0x10(R14) intstring.go:5 0x10ae769 0f863d010000 JBE 0x10ae8ac intstring.go:5 0x10ae76f 55 PUSHQ BP intstring.go:5 0x10ae770 4889e5 MOVQ SP, BP intstring.go:5 0x10...
Go语言整数值转字符串的效率问题 参考Go in Action 标准库提供了三种方法可以将整数值转为字符串。 fmt.Sprintf strconv.FormatInt strconv.Itoa 运行下面的代码,可以得到三种方法的基础测试结果。 代码语言:javascript 复制 packagetestimport("fmt""strconv""testing")funcBenchmarkSprintf(b*testing.B){number:=...
1. int转string 2. int32转string fmt.Sprint()的参数为interface,可以将任意的类型转为string 3.int64转string...
(1)int转string 1 2 s := strconv.Itoa(i) 等价于s := strconv.FormatInt(int64(i), 10) (2)int64转string 1 2 i := int64(123) s := strconv.FormatInt(i, 10) 第二个参数为基数,可选2~36 注:对于无符号整形,可以使用FormatUint(i uint64, base int) ...
base: 表示要转为的进制,支持2到36进制,使用最多的就是转为10进制 funcFormatInt(iint64,baseint)string{} 使用方法 我们可以把int32、int 先转为 int64,然后再使用该方法转换 strconv.FormatInt(123,10)//123strconv.FormatInt(123,2)//1111011 浮点型转字符串fmt.Sprintf支持 float32、float...
string 与 int 类型之间的转换 Itoa():整型转字符串 package main import ( "fmt" "strconv" ) func main() { num := 100 str := strconv.Itoa(num) fmt.Printf("type:%T value:%#v\n", str, str) } 1. 2. 3. 4. 5. 6.