「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Golang で int32 を String に効率的に変換するには?

Golang で int32 を String に効率的に変換するには?

2024 年 11 月 8 日に公開
ブラウズ:447

How to Efficiently Convert int32 to String in Golang?

Golang で int32 を文字列に変換する

Golang で int32 を文字列に変換することは、簡潔な解決策を使用すると簡単になります: fmt.Sprint(i) 。ただし、この直接的な方法では不十分な場合は、いくつかの変換オプションを利用できます:

  1. カスタム変換関数: これは、独自の変換関数を作成することを伴う最も速い方法です。
  2. fmt.Sprint(i): これはカスタム関数に比べて遅いアプローチですが、それでもoption.
  3. strconv.Itoa(int(i)): fmt.Sprint(i) よりわずかに高速ですが、変換前に int32 を int に変換する必要があります。
  4. strconv.FormatInt(int64(i), 10): これは、 strconv.Itoa(int(i)) は、int32 を int64 に直接変換し、次に string に変換します。

パフォーマンス ベンチマークは、カスタム変換関数 (String) が最も効率的であり、次に strconv であることを示しています。 FormatInt、strconv.Itoa、および fmt.Sprint.

これを示すコード スニペットです。比較:

package main

import (
    "fmt"
    "strconv"
    "time"
)

func main() {
    var s string
    i := int32(-2147483648)
    t := time.Now()
    for j := 0; j ), i/10
        if i == 0 {
            if signed {
                pos--
                buf[pos] = '-'
            }
            return string(buf[pos:])
        }
    }
}

最終的に、最適な選択は、アプリケーションの特定の要件とパフォーマンスの制約によって異なります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3