百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

grule-rule-engine

> 编程语言
开源

Golang 中的规则引擎实现

2.5K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

Golang 中的规则引擎实现

"Gopher 制定规则"

Grule 规则引擎

go
import "github.com/hyperjumptech/grule-rule-engine"

适用于 Go 的规则引擎

Grule 是一个用于 Go (Golang) 编程语言的规则引擎库。它受到广受好评的 JBOSS Drools 的启发,但实现方式要简单得多。 与 Drools 类似, Grule 具有自己的 DSL 或域特定语言。 以下是 Drools 的 DRL 或 Drools 规则语言的示例:

drool
rule "SpeedUp"
    salience 10
    when
        $TestCar : TestCarClass( speedUp == true && speed < maxSpeed )
        $DistanceRecord : DistanceRecordClass()
    then
        $TestCar.setSpeed($TestCar.Speed + $TestCar.SpeedIncrement);
        update($TestCar);
        $DistanceRecord.setTotalDistance($DistanceRecord.getTotalDistance() + $TestCar.Speed);
        update($DistanceRecord);
end

Grule 的 GRL 如下:

go
rule SpeedUp "When testcar is speeding up we keep increase the speed." salience 10  {
    when
        TestCar.SpeedUp == true && TestCar.Speed < TestCar.MaxSpeed
    then
        TestCar.Speed = TestCar.Speed + TestCar.SpeedIncrement;
        DistanceRecord.TotalDistance = DistanceRecord.TotalDistance + TestCar.Speed;
}

规则引擎是什么

没有比 Martin Fowler 所撰写的文章更好的解释了。您可以在 RulesEngine by Martin Fowler 中阅读该文章。 来自 TutorialsPoint 网站(略有修改)

Grule 规则引擎是一种生产规则系统,它采用基于规则的方法来实现专家系统。专家系统是基于知识的系统,它使用知识表示法将获得的知识转换为可用于推理的知识库。生产规则系统是图灵完备的,其重点是知识表示,以简洁、非歧义和声明性的方式表达命题逻辑和第一次序逻辑。

生产规则系统的大脑是一个 推理引擎,可以扩展到大量的规则和事实。推理引擎将事实和数据与生产规则(也称为 生产 或 规则)进行匹配,以推断结论。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Gogolanghacktoberfesthacktoberfest2021inference-engine

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言