我们希望使用Go实现我们的业务逻辑,但我们找不到任何用于Go的规则引擎/推理引擎的良好实现。有没有人有经验或建议?
发布于 2014-05-09 05:08:05
有一个项目的目标是在Go中实现ISO Prolog编译器:
我还没有测试过它,但考虑到它实现了一些基本的Prolog,这应该是一个相当强大的基于规则的推理引擎,AFAIS。
否则,在godoc.org上搜索“规则”也会得到一堆包:
发布于 2013-04-15 21:48:41
据我所知,最好的例子就是“表驱动”的单元测试方法,它在很多标准库中都采用了。例如,fmttests。
除此之外,Go是一种强大的、富有表现力的语言。你到底需要什么?在Go中有许多状态机实现的示例,还有一些具有声明性JSON配置的web框架。
如果你指的是适当的逻辑编程,那么目前还没有流行的Go库。
发布于 2019-08-13 17:12:56
如果你熟悉JBoss Drools,现在在Golang中也有类似的东西。请查看此https://github.com/newm4n/grool
它具有类似于Drools DRL的DSL,称为GRL。
rule SlowDown "When testcar is slowing down we keep decreasing the speed." salience 10 {
when
TestCar.SpeedUp == false && TestCar.Speed > 0
then
TestCar.Speed = TestCar.Speed - TestCar.SpeedIncrement;
DistanceRecord.TotalDistance = DistanceRecord.TotalDistance + TestCar.Speed;
}https://stackoverflow.com/questions/15668174
复制相似问题