Skip to content

Instantly share code, notes, and snippets.

@InnovativeInventor
Created July 11, 2020 18:23
Show Gist options
  • Save InnovativeInventor/fab72c0b4b0aef6b50c608550a0b27bf to your computer and use it in GitHub Desktop.
Save InnovativeInventor/fab72c0b4b0aef6b50c608550a0b27bf to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"log"
"bufio"
"encoding/json"
"io/ioutil"
"os"
"github.com/willf/bloom"
"strings"
)
func main() {
var bloomfilter bloom.BloomFilter
file, _ := ioutil.ReadFile("bloom.json")
json.Unmarshal(file, bloomfilter)
if bloomfilter.TestString("test") && ! bloomfilter.TestString("nulltest"){
log.Println("Ok! Loaded bloom filter properly")
} else {
log.Fatal("Bloom filter not loaded properly")
}
filename := "items.txt"
file_items, err := os.Open(filename)
if err != nil {
log.Println(err)
file_items.Close()
}
defer file_items.Close()
scanner := bufio.NewScanner(file_items)
buf := make([]byte, 0, 64*1024)
scanner.Buffer(buf, 2048*1024)
for scanner.Scan() {
url := scanner.Text()
if ! bloomfilter.TestAndAddString(strings.TrimSpace(url)) {
fmt.Println(url)
}
}
if err := scanner.Err(); err != nil {
log.Println(err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment