【问题标题】:Evaluate already parsed duration expression评估已解析的持续时间表达式
【发布时间】:2020-08-17 09:20:40
【问题描述】:

我正在编写一个工具,它可以读取 go 代码并解析一些持续时间表达式,例如:dur := 5 * time.Minute。我已经完成了解析步骤并得到了*ast.BinaryExpr。如何评估这个表达式并获得它的值?

工具链/包中有什么东西还是我需要手动操作?

【问题讨论】:

    标签: parsing go abstract-syntax-tree evaluation


    【解决方案1】:

    我认为parser 包是您正在寻找的包。 go 还有一个名为 eval (https://godoc.org/github.com/apaxa-go/eval) 的包,用于评估表达式。 还有两个库可以帮助您。

    https://github.com/PaesslerAG/gval

    https://github.com/Knetic/govaluate

    Gval (Go eVALuate) 提供对任意表达式求值的支持,尤其是类似 Go 的表达式。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-13
      • 2023-03-07
      相关资源
      最近更新 更多