ホームページ > バックエンド開発 > Golang > Go で整数をバイト配列に効率的に変換するにはどうすればよいですか?

Go で整数をバイト配列に効率的に変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-21 14:21:10
オリジナル
769 人が閲覧しました

How Can I Efficiently Convert an Integer to a Byte Array in Go?

整数をバイト配列に効率的に変換する

データ ストリームまたはネットワーク プロトコルを使用する場合、変換が必要な状況が発生することがあります。整数をバイト配列に変換します。指定されたコードは a.Write() 関数を使用してこれを実行しようとしていますが、より効率的で適切な方法が利用可能です。

エンコーディング/バイナリ ライブラリの使用

Go 標準ライブラリは、バイナリ データのエンコードとデコードに特化したソリューションを提供するエンコード/バイナリ パッケージを提供します。整数変換の場合、LittleEndian.PutInt32 や BigEndian.PutUint64 などの関数を使用して、バイト配列なしで整数をエンコードできます。

LittleEndian.PutInt32 を使用した例を次に示します。

import "encoding/binary"

func main() {
    bs := make([]byte, 4)
    binary.LittleEndian.PutInt32(bs, 31415926)
    fmt.Println(bs)
}
ログイン後にコピー

ASCII のエンコードString

整数の ASCII 表現が必要な場合は、strconv.Itoa を使用して文字列に変換し、それをバイト配列にキャストできます。

次の例は、 strconv.Itoa:

import "strconv"

func main() {
    bs := []byte(strconv.Itoa(31415926))
    fmt.Println(bs)
}
ログイン後にコピー

最適なものの選択メソッド

メソッドの選択は、特定の要件によって異なります。バイナリ表現が必要な場合は、encoding/binary が最適化された機能を提供します。 ASCII 表現の場合、文字列変換は簡単なアプローチです。

以上がGo で整数をバイト配列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート