heartlhj / go-expression

GO语言EL表达式
MIT License
5 stars 2 forks source link

EL 表达式或操作不行 #1

Open shaynewu opened 3 years ago

shaynewu commented 3 years ago

context := spel.StandardEvaluationContext{} m := make(map[string]interface{}) m["create_user"] = "wsq_uid1" m["role_id"] = 1 m["money"] = 10000 m["things_num"] = 12 m["age"] = 18 context.SetVariables(m) parser := SpelExpressionParser{} expressionString := "#create_user=='lisi' || #age>=3" valueContext := parser.ParseExpression(expressionString).GetValueContext(&context) fmt.Println("结果为:", valueContext) image

shaynewu commented 3 years ago

create_user=='lisi' || #age>=3

${create_user == 'lisi' || age >=3}

上面的或操作都不行

heartlhj commented 3 years ago

非常感谢发现问题

问题已修复,依赖最新版本即可,使用

$name=='lisi' || $age>=3 或 #name=='lisi' || #age>=3

这两种方式都可以