diff options
Diffstat (limited to 'small/main.go')
| -rw-r--r-- | small/main.go | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/small/main.go b/small/main.go new file mode 100644 index 0000000..f8e5d60 --- /dev/null +++ b/small/main.go @@ -0,0 +1,60 @@ +//go:build go1.20 +// +build go1.20 + +package main + +import ( + "os" + + "go.wit.com/log" +) + +// sent via -ldflags +var VERSION string +var BUILDTIME string + +var sortmap map[string]string +var marshalKeys []string +var uniqueKeys []string + +func main() { + var pb *Fruits + pb = new(Fruits) + // attempt to load basket.pb + fruit := &Fruit{ + Brand: "mom", + City: "New NewYork", + UPC: "2000", + } + pb.Fruits = append(pb.Fruits, fruit) + + a := &Fruit{ + Brand: "fry", + City: "the moon", + UPC: "2001", + } + pb.Fruits = append(pb.Fruits, a) + + pb.saveBasket() +} + +func (pb *Fruits) saveBasket() error { + data, err := pb.Marshal() + if err != nil { + return err + } + + w, err := os.OpenFile("basket.pb", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644) + if err != nil { + return err + } + w.Write(data) + w.Close() + log.Info("saved basket.pb ok") + return nil +} + +func badExit(err error) { + log.Info("autogenpb error:", err) + os.Exit(-1) +} |
