This repository was archived by the owner on Nov 21, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgo_playing_btree.go
64 lines (51 loc) · 1.77 KB
/
go_playing_btree.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package main
import (
"encoding/gob"
"fmt"
"github.com/kimuraz/golang-json-db/utils"
"os"
"strings"
)
func PlayingWithBTree() {
btree := utils.BTree{}
firstId := "123"
secondId := "456"
bla1 := "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquet enim tortor at auctor urna nunc id cursus. Morbi quis commodo odio aenean sed adipiscing. Ornare aenean euismod elementum nisi. Aliquam faucibus purus in massa tempor nec feugiat nisl pretium. Ut lectus arcu bibendum at. Euismod in pellentesque massa placerat duis ultricies. Aliquam purus sit amet luctus venenatis lectus. Nunc sed blandit libero volutpat. Scelerisque eu ultrices vitae auctor eu augue ut. Mauris rhoncus aenean vel elit scelerisque mauris pellentesque. Sed vulputate odio ut enim blandit volutpat maecenas. Ipsum dolor sit amet consectetur. Velit ut tortor pretium viverra. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus."
bla2 := "sed do bla bla bla"
// Split string every space
words := strings.Fields(bla1)
for _, word := range words {
btree.Insert(word, firstId)
}
words = strings.Fields(bla2)
for _, word := range words {
btree.Insert(word, secondId)
}
// Search for a word
result, _ := btree.Search("sed")
for id, _ := range result {
fmt.Println(id)
}
firstStr := btree.String()
f, err := os.Create("b1.bin")
if err != nil {
fmt.Println(err)
}
btree2 := utils.BTree{}
enconder := gob.NewEncoder(f)
err = enconder.Encode(btree)
if err != nil {
fmt.Println(err)
}
f.Close()
f, err = os.Open("b1.bin")
if err != nil {
fmt.Println(err)
}
err = gob.NewDecoder(f).Decode(&btree2)
if err != nil {
fmt.Println(err)
}
secondStr := btree2.String()
fmt.Println(firstStr == secondStr)
}