2018/02/17追記 Goらしくレシーバを使うようリファクタリングしました。 実装が少し変わっていますが、考え方自体は本記事から変わりありません。 リファクタリング後の実装は以下のGithubのとおりです。 github.com 前回調べたBloomFilterをGolangで実装してみました。 要素を蓄えるBloomFilterの用意 BloomFilterをサイズm[bit]のboolean配列として用意します。 実装中ではmをsizeという変数にしているので、適宜読み替えてください。 今回はBloomFilter型を用意します。 gistf2f5c87d2ca403d6f1b3deacb4d52ab4 使用するハッシュ関数 要素の追加および要素の有無を検証するときに、k個のハッシュ関数を用意する必要があります。 今回はハッシュ関数としてMD5を用いることにします。 gist4c6