Go 语言将 unit 类型转成 string

fmt.Sprint

func sprint(u uint) string {
    return fmt.Sprint(u)
}

strconv.FormatUint

func formatUint(u uint) string {
    return strconv.FormatUint(uint64(u), 10)
}

性能

func BenchmarkSprint(b *testing.B) {
    for n := 0; n < b.N; n++ {
        sprint(uint(n))
    }
}

func BenchmarkFormatUint(b *testing.B) {
    for n := 0; n < b.N; n++ {
        formatUint(uint(n))
    }
}
$ go test -bench=.
BenchmarkSprint-12              13384656                81.6 ns/op
BenchmarkFormatUint-12          44932880                29.5 ns/op

后者明显性能更好。