testexpr.go 394 B

1234567891011121314151617181920212223242526272829
  1. package main
  2. import (
  3. "fmt"
  4. //"strings"
  5. "github.com/japm/goScript"
  6. )
  7. func main() {
  8. ctxt := map[string]interface{}{}
  9. ctxt["aaa"] = 5
  10. ctxt["bbb"] = 10
  11. ctxt["ccc"] = add
  12. exp := &goScript.Expr{}
  13. exp.Prepare(`(aaa * bbb) / 10+ccc(5,6)`)
  14. if val, err := exp.Eval(ctxt) ;err == nil {
  15. fmt.Println( val )
  16. }else{
  17. fmt.Println( err )
  18. }
  19. }
  20. func add(a int, b int) int {
  21. return a+b
  22. }