Skip to content

leonests/goexpr

Repository files navigation

Build Coverage Go Report License: MIT

Goexpr

Goexpr provides support for evaluating expressions with parameters, arimethetic, logical, and string operations.

  • basic expression: 1 > 0
  • parameterized expression: x > 0
  • nested parameterized expression: a.b > 0
  • arithmetic expression: (x * y / 100) >= 50
  • string expression: real == "expected"
  • float64 expression: (part / total) * 100

Installation

When used with Go modules, use the following import path:

go get github.com/leonests/goexpr

Quickstart

Example 1: Simple Usage Without Parameters

import "github.com/leonests/goexpr"

expr, err := goexpr.NewExpr("1 > 0")
result, err := expr.Eval(nil)
// result is true.

Example 2: Simple Usage With Parameters

import "github.com/leonests/goexpr"

expr, err := goexpr.NewExpr(`(x * y / 100) >= 50`)
param := map[string]interface{}{ "x": 100, "y": 50}
result, err := expr.Eval(parametes)
// result is true.

Advanced

Bracket Accessor

Dot Accessor

Method

Releases

No releases published

Packages

No packages published

Languages