0
int64とboolを持つstruct型とint64とbool型のフィールドが多い埋め込み型があります。データが変更されているかどうかを判断するためのカスタムハッシュコードの作成方法
type T1 struct {
f1 int64
f2 int64
f3 bool
T2 T2
}
type T2 struct {
f4 int64
f5 int64
f6 bool
}
ここで、すべての構造体フィールド/プロパティを使用して、ハッシュコードを生成します。
これの目的は、インスタンスの内容が変更されたかどうかを判断することができますが、前後のハッシュコード値を比較することです。
したがって、T1インスタンスが変更された場合、つまりそのプロパティのいずれかが変更された場合、ハッシュの値は異なるはずです。
型がマップキーに対して有効な場合は、 'map [T1] bool'で型の存在を確認できますが、その場合は' == '演算子を使うこともできます。さもなければ、あなたの型のための何らかの並べ替え方法を定義しなければならないでしょう。 – JimB
@JimBをエコーオフするには、encoding/gob&base64を使用して構造体をシリアライズします。 –
私はそれをシリアル化したくない、私はフィールドの値に基づいているハッシュ値が欲しい。 –