ホームページ >バックエンド開発 >Golang >Go でバイトスライスを Int64 にエンコードするときにコードの明瞭さを改善するにはどうすればよいですか?

Go でバイトスライスを Int64 にエンコードするときにコードの明瞭さを改善するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-08 03:49:10428ブラウズ

How Can I Improve Code Clarity When Encoding a Byte Slice to an Int64 in Go?

Go でのコードの明瞭性の向上: バイト スライスを Int64 にエンコードする別のアプローチ

Go プログラミング言語でのバイト スライスのエンコードint64 への変換には、通常、ビット シフトとビットごとの演算子の利用が含まれます。次のコードはこのプロセスを示しています。

func main() {
    var mySlice = []byte{244, 244, 244, 244, 244, 244, 244, 244}
    var data int64
    for i := 0; i < 8; i++ {
                data |= int64(mySlice[i] & byte(255)) << uint((8*8)-((i+1)*8))
    }
    fmt.Println(data)
}

別のアプローチにより、明確さと単純さが強化されています。

func main() {
    var mySlice = []byte{244, 244, 244, 244, 244, 244, 244, 244}
    data := int64(0)
    for _, b := range mySlice {
        data = (data << 8) | int64(b)
    }
    fmt.Printf("%d\n", data)
}

この改訂されたコードでは、range キーワードを使用して、バイト スライス、シフトを反復処理します。現在のデータ値を 8 ビット残して、その結果とバイト値を OR 演算します。このアプローチは、より直感的で洗練されたソリューションを提供し、エンコード プロセスを理解しやすくします。

さらに、プレイグラウンドのリンクは https://go.dev/play/p/aemkEg7a6S5 にあります。この代替方法をテスト中。

以上がGo でバイトスライスを Int64 にエンコードするときにコードの明瞭さを改善するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。