//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 var pb *Fruits func main() { // pb = NewFruits() pb = new(Fruits) pb.Uuid = "test" pb.Version = "v0.0.2" fruit := &Fruit{ Brand: "mom", City: "New NewYork", } x := new(Fruit) x = &Fruit{ Brand: "dad", City: "Germany", } appendByUPC(x) appendByUPC(fruit) testAppend(fruit) testAppend(x) } func testAppend(fruit *Fruit) { if pb.AppendUnique(fruit) { log.Info("AppendUnique() test1 ok", fruit.Brand, fruit.City) } else { log.Info("AppendUnique() test1 failed", fruit.Brand, fruit.City) os.Exit(-1) } if pb.AppendUnique(fruit) { log.Info("AppendUnique() test2 worked but should not have", fruit.Brand, fruit.City) os.Exit(-1) } else { log.Info("AppendUnique() test2 failed ok", fruit.Brand, fruit.City) } } func appendByUPC(fruit *Fruit) { if pb.AppendUniqueUPC(fruit) { log.Info("AppendUnique() test1 ok", fruit.Brand, fruit.City) } else { log.Info("AppendUnique() test1 failed", fruit.Brand, fruit.City) os.Exit(-1) } if pb.AppendUniqueUPC(fruit) { log.Info("AppendUnique() test2 worked but should not have", fruit.Brand, fruit.City) os.Exit(-1) } else { log.Info("AppendUnique() test2 failed ok", fruit.Brand, fruit.City) } }