Go での Int32 から String への変換: Int と Int64 を超えて
Go では、必要なく int32 から文字列への変換を実行できます。 int または int64 への中間変換用。これを実現するためのいくつかのアプローチを次に示します。
1. fmt.Sprint(i) の使用
s := fmt.Sprint(i)
このメソッドは、簡単な 1 行のソリューションを提供します。
2.カスタム変換関数の作成
最適なパフォーマンスを得るために、カスタム変換関数を作成できます。
func String(n int32) string { // Implementation details return string(buf[pos:]) }
3. strconv.Itoa(int(i)) の使用
s := strconv.Itoa(int(i))
このアプローチでは最初に int への変換が必要ですが、比較的高速な解決策が提供されます。
4. strconv.FormatInt(int64(i), 10)
s := strconv.FormatInt(int64(i), 10)
の使用このメソッドは、int32 を string に直接変換するため、strconv.Itoa よりも高速に実行されます。
パフォーマンスの比較
これらのメソッドの効率を比較するために、5,000 万回の反復でベンチマークを実行しました。
Method | Time Taken |
---|---|
String | 5.5923198s |
String2 | 5.5923199s |
strconv.FormatInt(int64(i), 10) | 5.9133382s |
strconv.Itoa(int(i)) | 5.9763418s |
fmt.Sprint(i) | 13.5697761s |
結果から明らかなように、カスタム変換関数 String が提供します。最速の実行時間。
以上がGo で Int32 を文字列に変換する方法: どの方法が最も速いですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。