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 サイトの他の関連記事を参照してください。