11# go-slice-struct-listener
22
3- A Go library to listen slice of struct (when feed new data then output show id was added , id was updated or id was deleted)
3+ A Go library to find diff slice of struct (when feed new data then output show id was added , id was updated or id was deleted)
44<hr >
55
66
@@ -12,11 +12,11 @@ package main
1212import (
1313 " fmt"
1414
15- listener " github.com/panapol-p/go-slice-struct-listener "
15+ diff " github.com/panapol-p/go-slice-struct-diff "
1616)
1717
1818type FeedData struct {
19- ID string ` listener :"id"`
19+ ID string ` diff :"id"`
2020 Name string
2121 Score float32
2222}
@@ -27,29 +27,29 @@ func main() {
2727 {ID: " 2" , Name: " Joe" , Score: 92.50 },
2828 }
2929
30- l := listener .NewListener [FeedData]()
30+ d := diff .NewListener [FeedData]()
3131
3232 // set callback func if you need
33- f := func (e []listener .Events [FeedData]) {
33+ f := func (e []diff .Events [FeedData]) {
3434 fmt.Println (" [callback func]" , " receive new event!!" , e)
3535 }
36- l .SetCallback (f)
36+ d .SetCallback (f)
3737
38- events := l .AddNewValue (fs)
38+ events := d .AddNewValue (fs)
3939 fmt.Println (events) // [{1 added {1 Bob 98.5}} {2 added {2 Joe 92.5}}]
4040
4141 fs = []FeedData{
4242 {ID: " 1" , Name: " Bob" , Score: 96.50 },
4343 {ID: " 2" , Name: " Joe" , Score: 92.50 },
4444 {ID: " 3" , Name: " Micky" , Score: 89.70 },
4545 }
46- events = l .AddNewValue (fs)
46+ events = d .AddNewValue (fs)
4747 fmt.Println (events) // [{1 updated {1 Bob 96.5}} {3 added {3 Micky 89.7}}]
4848
4949 fs = []FeedData{
5050 {ID: " 1" , Name: " Bob" , Score: 96.50 },
5151 }
52- events = l .AddNewValue (fs)
52+ events = d .AddNewValue (fs)
5353 fmt.Println (events) // [{2 deleted { 0}} {3 deleted { 0}}]
5454}
5555```
0 commit comments