Expr —— Go 表达式语言
Expr 是一种以 Go 为中心的表达式语言,旨在以无与伦比的准确性、安全性和速度提供动态配置。 // Allow only admins and moderators to moderate comments. user.Group in ["admin", "moderator"] || user.Id == comment.UserId // Ensure all tweets are less than 240 characters. all(Tweets, .Size <= 240) 特性 内存安全:Expr 的设计注重安全性,确保程序不会访问不相关的内存或引入内存漏洞 无副作用:在 Expr 中计算的表达式仅根据输入计算输出,确保不会产生可能改变状态或产生意外结果的副作用 防止无限循环,确保每个程序都会在合理的时间内结束 与 Go 无缝集成:将 Expr 集成到 Go 项目中,无需重新定义类型 示例代码 package main import ( "fmt" "github.com/antonmedv/expr" ) func mai...
