2 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以通過(guò)簡(jiǎn)單地將 the 轉(zhuǎn)換為or來(lái)使用strconv.Itoa
(或者strconv.FormatInt
如果性能至關(guān)重要),例如(Go Playground):int16
int
int64
x := uint16(123)
strconv.Itoa(int(x)) // => "123"
strconv.FormatInt(int64(x), 10) // => "123"
strconv.FormatInt(...)請(qǐng)注意,根據(jù)一個(gè)簡(jiǎn)單的基準(zhǔn)測(cè)試,它可能會(huì)稍微快一些:
// itoa_test.go
package main
import (
"strconv"
"testing"
)
const x = int16(123)
func Benchmark_Itoa(b *testing.B) {
for i := 0; i < b.N; i++ {
strconv.Itoa(int(x))
}
}
func Benchmark_FormatInt(b *testing.B) {
for i := 0; i < b.N; i++ {
strconv.FormatInt(int64(x), 10)
}
}
運(yùn)行為$ go test -bench=. ./itoa_test.go:
goos: darwin
goarch: amd64
Benchmark_Itoa-8 50000000 30.3 ns/op
Benchmark_FormatInt-8 50000000 27.8 ns/op
PASS
ok command-line-arguments 2.976s

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
你可以使用 Sprintf:
num := 33
str := fmt.Sprintf("%d", num)
fmt.Println(str)
或淹死
str := strconv.Itoa(3)
- 2 回答
- 0 關(guān)注
- 101 瀏覽
添加回答
舉報(bào)