在 Golang 中将 int32 转换为字符串
在 Golang 中将 int32 转换为字符串可以很简单,有一个简洁的解决方案:fmt.Sprint(i) 。但是,如果这种直接方法还不够,可以使用以下几种转换选项:
性能基准表明自定义转换函数(String)是最快速的高效,其次是 strconv.FormatInt、strconv.Itoa 和 fmt.Sprint。
下面是演示比较的代码片段:
<code class="go">package main import ( "fmt" "strconv" "time" ) func main() { var s string i := int32(-2147483648) t := time.Now() for j := 0; j < 50000000; j++ { s = String(i) //s = String2(i) // Other conversion functions can be used here } fmt.Println(time.Since(t)) fmt.Println(s) } func String(n int32) string { // Custom conversion function buf := [11]byte{} pos := len(buf) i := int64(n) signed := i < 0 if signed { i = -i } for { pos-- buf[pos], i = '0'+byte(i%10), i/10 if i == 0 { if signed { pos-- buf[pos] = '-' } return string(buf[pos:]) } } }</code>
最终,最佳选择取决于具体要求以及应用程序的性能限制。
以上是Golang中如何高效地将int32转换为String?的详细内容。更多信息请关注PHP中文网其他相关文章!