package main import ( "flag" "fmt" "os" "github.com/Knetic/govaluate" ) var exp string = "" var ver string = "" var vsn bool = false func init() { flag.BoolVar(&vsn, "v", false, "Show Program Version") flag.StringVar(&exp, "e", "", "Evaluable Expression") flag.Parse() } func main() { if vsn { _ShowVersion() os.Exit(0) } if exp == "" { flag.Usage() os.Exit(1) } expression, err := govaluate.NewEvaluableExpression(exp) if err != nil { fmt.Printf("[ERR] %v\r\n", err) os.Exit(1) } result, err := expression.Evaluate(nil) if err != nil { fmt.Printf("[ERR] %v\r\n", err) os.Exit(1) } fmt.Printf("Result=%v\r\n", result) } func _ShowVersion() { fmt.Printf("%s\r\nAuthor: %s\r\nVersion: %s\r\n", os.Args[0], "TE / Vayne Tan", ver) }