diff options
| author | Jeff Carr <[email protected]> | 2025-01-11 03:13:20 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-01-11 03:13:20 -0600 |
| commit | 502826cf8c2e8acbc57dd2400a47511ae7ed644f (patch) | |
| tree | 7557daab9e076692578842da493d69702c61413b /example/main.go | |
| parent | 9349ab95fc91f74f2c242a7e3ccc0b630c3d95f3 (diff) | |
lala. working again
Diffstat (limited to 'example/main.go')
| -rw-r--r-- | example/main.go | 165 |
1 files changed, 63 insertions, 102 deletions
diff --git a/example/main.go b/example/main.go index 078dbce..490421e 100644 --- a/example/main.go +++ b/example/main.go @@ -1,6 +1,3 @@ -//go:build go1.20 -// +build go1.20 - package main import ( @@ -15,127 +12,59 @@ import ( var VERSION string var BUILDTIME string -var sortmap map[string]string -var marshalKeys []string -var uniqueKeys []string - var counter int = rand.Intn(100) func main() { var pb *Fruits - // pb = NewFruits() pb = new(Fruits) - // attempt to load basket.pb if err := pb.loadBasket(); err != nil { - log.Info("load basket failed. running this for the first time?") - a := pb.getNewFruit() - pb.Fruits = append(pb.Fruits, a) - pb.printTable() + log.Info("First time user?") } - if err := pb.saveBasket(); err != nil { - badExit(err) - } - if pb == nil { - badExit(fmt.Errorf("pb == nil This should not have happened")) - } - pb.addThings() - pb.printTable() - pb.saveBasket() - pb.sortTable(100) -} - -func badExit(err error) { - log.Info("autogenpb error:", err) - os.Exit(-1) -} - -func (pb *Fruits) getNewFruit() *Fruit { - counter += rand.Intn(100) - upc := fmt.Sprintf("%d", counter) - fut := &Fruit{ + // attempt to load basket.pb + fruit := &Fruit{ Brand: "mom", City: "New NewYork", - UPC: upc, + UPC: "2000", } - return fut -} + pb.Fruits = append(pb.Fruits, fruit) -/* - x := new(Fruit) - x = &Fruit{ + a := &Fruit{ Brand: "fry", - City: "Germany", + City: "the moon", + UPC: "2001", } - pb.printTable() + pb.Fruits = append(pb.Fruits, a) - testAppend(x) -*/ + b := pb.getNewFruit() + pb.Fruits = append(pb.Fruits, b) -func (pb *Fruits) printTable() { - var count int - all := pb.All() - for all.Scan() { - tmp := all.Next() - count += 1 - log.Printf("found %d %s %s\n", count, tmp.Brand, tmp.City) - if count > 5 { - break - } + pb.saveBasket() + + if err := pb.loadBasket(); err != nil { + badExit(err) } - log.Printf("Total entries: %d\n", pb.Len()) + pb.printTable() } -func (pb *Fruits) sortTable(i int) { - var count int - all := pb.SortByBrand() - for all.Scan() { - tmp := all.Next() - count += 1 - log.Printf("found %d %s %s\n", count, tmp.Brand, tmp.City) - if count > i { - break - } +func (pb *Fruits) addFruits(i int) { + var x int + for x < i { + x += 1 + b := pb.getNewFruit() + pb.Fruits = append(pb.Fruits, b) } - log.Printf("Total entries: %d\n", pb.Len()) } -// adds 10 new entries -func (pb *Fruits) addThings() { - var added int - var count int = rand.Intn(10000) - // var base string = "bender" - for { - count += rand.Intn(1000) - var found bool - name := fmt.Sprintf("bender%d", count) - all := pb.All() - for all.Scan() { - tmp := all.Next() - if tmp.Brand == name { - // log.Printf("tmp name EQUAL %d %s vs %s city = %s len=%d\n", count, tmp.Brand, name, tmp.City, pb.Len()) - found = true - break - } - // log.Printf("DID NOT EXIST %d %s vs %s city = %s len=%d\n", count, tmp.Brand, name, tmp.City, pb.Len()) - } - if found { - continue - } - // log.Printf("DID NOT EXIST %d %s len=%d\n", count, name, pb.Len()) - tmp := new(Fruit) - tmp.Brand = name - tmp.City = "paris" - if pb.AppendUniqueByBrand(tmp) { - // log.Printf("AppendUniqueBrand() ok len=%s %s %d\n", tmp.Brand, tmp.City, pb.Len()) - } else { - badExit(fmt.Errorf("AppendUniqueByBrand() ERROR len=%s %s %d\n", tmp.Brand, tmp.City, pb.Len())) - } - pb.Append(tmp) - added += 1 - if added > 10 { - return - } +func (pb *Fruits) getNewFruit() *Fruit { + counter += rand.Intn(10) + upc := fmt.Sprintf("%d", counter) + + a := &Fruit{ + Brand: "fry", + City: "the moon", + UPC: upc, } + return a } func (pb *Fruits) saveBasket() error { @@ -154,6 +83,11 @@ func (pb *Fruits) saveBasket() error { return nil } +func badExit(err error) { + log.Info("autogenpb error:", err) + os.Exit(-1) +} + func (pb *Fruits) loadBasket() error { if pb == nil { pb = new(Fruits) @@ -169,3 +103,30 @@ func (pb *Fruits) loadBasket() error { log.Info("loaded basket.pb ok") return nil } +func (pb *Fruits) printTable() { + var count int + all := pb.All() + for all.Scan() { + tmp := all.Next() + count += 1 + log.Printf("found %d %s %s %s\n", count, tmp.Brand, tmp.City, tmp.UPC) + if count > 10 { + break + } + } + log.Printf("Total entries: %d\n", pb.Len()) +} + +func (pb *Fruits) sortTable(i int) { + var count int + all := pb.SortByBrand() + for all.Scan() { + tmp := all.Next() + count += 1 + log.Printf("found %d %s %s\n", count, tmp.Brand, tmp.City) + if count > i { + break + } + } + log.Printf("Total entries: %d\n", pb.Len()) +} |
