Go語言整數值轉字串的效率問題

2021-10-02 14:04:30 字數 1053 閱讀 1898

參考 go in action

標準庫提供了三種方法可以將整數值轉為字串。

fmt.sprintf

strconv.formatint

strconv.itoa

執行下面的**,可以得到三種方法的基礎測試結果。

package test

import

("fmt"

"strconv"

"testing"

)func

benchmarksprintf

(b *testing.b)

}func

benchmarkformat

(b *testing.b)

}func

benchmarkitoa

(b *testing.b)

}

測試結果如下。首先執行檔案必須是 *_test.go 字尾的檔案,然後通過go test來執行。從下面的結果可以看出,fmt.sprintf效率是最低的。

# ls

test_test.go

# go test -v -run="none" -bench=. -benchtime="3s" -benchmem

goos: darwin

goarch: amd64

benchmarksprintf-12 50000000 79.5 ns/op 16 b/op 2 allocs/op

benchmarkformat-12 2000000000 2.75 ns/op 0 b/op 0 allocs/op

benchmarkitoa-12 2000000000 2.65 ns/op 0 b/op 0 allocs/op

pass

ok _/tmp/test 15.408s

C語言的字串轉整數 整數轉字串的函式

1字串轉 int atoi 標頭檔案 include atoi 函式用來將字串轉換成整數 int 其原型為 int atoi const char str 函式說明 atoi 函式會掃瞄引數 str 字串,跳過前面的空白字元 例如空格,tab縮排等,可以通過 isspace 函式來檢測 直到遇上數字...

字串轉整數 atoi go語言

實現 atoi,將字串轉為整數。該函式首先根據需要丟棄任意多的空格字元,直到找到第乙個非空格字元為止。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。字串可以在形...

整數轉字串

將輸入的整數轉化為字串。輸入 整數 輸出 指向字串的指標 函式原型 char shuzi2zifu int n include include includechar shuzi2zifu int n else flag 0 int m n while n printf d n count p ch...