Golang实现逻辑编排解释引擎

Golang实现逻辑编排解释引擎全解析
本文介绍了通过ChatGPT学习Golang的方法,包括基础语法和后端服务搭建。详细阐述了表达式解释器的实现,涵盖词法分析、语法分析和解释执行。还讲解了用Golang实现逻辑编排引擎的设计,包括节点架构和作用域架构设计,可用于实时修改配置。

作者:井卓

文章简介:

逻辑编排提供一站式集成平台,简化了在集成接口、应用和服务时,所涉及的业务逻辑和流程。本文会介绍如何通过ChatGPT学习Golang、以及表达式解释器的实现Golang解析引擎的基本设计架构。

Golang实现逻辑编排解释引擎

  1. 背景:

逻辑编排提供一站式集成平台,简化了在集成接口、应用和服务时,所涉及的业务逻辑和流程。逻辑编排自研流程中缺少后端的解析引擎,于是我通过ChatGPT高效的学习了Golang,并完成了开发。本文会介绍如何通过ChatGPT对Golang学习教程的提炼和依赖资料的获取路径、表达式解释器的实现和Golang解析引擎的基本设计架构等。

2.如何使用ChatGPT学习Golang

2.1 跑起来 "Hello World!"

问ChatGPT如何用go跑起来一个"Hello World!" ,尽量精简提问,这样就能更精确的拿到自己想要的内容

通过这个提问可以提炼出两个要点

  1. 一个最简单的go文件是什么样子
  1. package main  
  2. import "fmt"  
  3. func main() {  
  4.     fmt.Println("Hello, World!")  
  5. }  
  1. 如何运行这个go文件,chat可以精确的告诉go的安装地址,以及安装流程,可以很快搞定

2.2 用例子来学习

比起官网上冗长的学习教程,我更想看到 go和我们前端常用的ts有什么区别,这样的内容可以直接问ChatGPT,并且让他给出具体的例子,会得到例子。

2.2.1 变量定义

变量定义在两种语言的中的区别是不同的,除了语法上的不同。在参数的类型上对于数字类型Golang有 int, float32, float64等多种类型。这是因为Golang作为编译型静态类型语言,在变量定义的时候根据不同的类型所占据的字节数是有差别的,所以对语言的变量类型定义更加严格。但这些数字类型这在TypeScript中都统一称做number。

  1. // Golang  
  2. var a int = 1  
  3. // TypeScript  
  4. var a: number = 1;  

2.2.2 面向对象的区别

面向对象编程是可以代码 高内聚,低耦合的方案。可以通过ChatGPT方便的知道语言的特性,在Golang中没有传统的类(class)的概念,也就是常说的oo,它采用了一种不同的面向对象编程模式,称为"结构体(struct)"和"方法(method)",与高级语言中类定义的方式有所区别。

  1. // Golang  
  2. type FlowNode struct {  
  3.     id         string  
  4.     nodeName   string  
  5. }  
  6.   
  7. func NewFlowNode(params map[string]interface{}) (*FlowNode, error) {  
  8.     nodeType, err := node.ToNodeEnum(params["type"].(string))  
  9.     if err != nil {  
  10.         fmt.Println(err)  
  11.         return nil, nil  
  12.     }  
  13.     flowNode := &FlowNode{  
  14.         id: params["id"].(string),  
  15.         nodeName:   params["displayName"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值