- Install the package
go get -u github.com/ams-pro/filter-parser
- Use the package
package main
import (
"fmt"
filterparser "github.com/ams-pro/filter-parser"
)
func main() {
filterExpr := "and(gt(id,40),lt(id,60))"
tree := filterparser.ParseFilter(filterExpr)
fmt.Println(tree)
}
// Output:
// Node {
// Token: "and"
// Left: Node {
// Token: "gt"
// Left: Node {
// Token: "id"
// }
// Right: Node {
// Token: "40"
// }
// }
// Right: Node {
// Token: "lt"
// Left: Node {
// Token: "id"
// }
// Right: Node {
// Token: "60"
// }
// }
// }