任意のデータ型を受け入れるハッシュ関数を作成するには、変換する機能が必要ですデータをバイト配列に変換します。ただし、バイナリ パッケージではデータの型とバイト順序の知識が必要なため、単純な変換が困難になっているようです。
エラーは最初のアプローチにありました。 gob パッケージは、この変換を効果的に処理できます。
次のコードは、任意のインターフェースをバイト配列に変換する方法を示しています。
package bloom import ( "encoding/gob" "bytes" ) // GetBytes converts an interface{} to a byte array. func GetBytes(key interface{}) ([]byte, error) { var buf bytes.Buffer enc := gob.NewEncoder(&buf) err := enc.Encode(key) if err != nil { return nil, err } return buf.Bytes(), nil }
この関数は gob パッケージを利用して入力インターフェイスをバイト配列にエンコードします。次に、エンコード中に発生したエラーとともに結果のバイト配列を返します。
以上が任意の Go インターフェイスをバイト配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。