package main
import (
"fmt"
"github.com/huangxingx/goexpression"
)
func main() {
expressStr := "1+2+3"
exp := goexpression.NewExpress(expressStr)
result := exp.Execute(nil)
fmt.Printf("%s = %.2f", expressStr, result.(float64))
}
1
loading 2021-09-28 22:14:43 +08:00
你可能是需要 js eval ?
然后我查了一下,已经有了:goeval |
2
masterclock 2021-09-28 22:34:59 +08:00
这一类的不少,
github.com/antonmedv/expr 较为简单,go template 类语法 https://github.com/google/cel-go google 的 cel,支持 protobuf 类型 除非有特点,否则不值得投入 |
3
huangxingx OP @loading 看了一下这个库的实现,感觉不是我们想要的。
|
4
huangxingx OP @masterclock 嗯。这一类确实不少,我这个的思路是从 java 的 qlexpress https://github.com/alibaba/QLExpress.git 来的,用 golang 实现也是抱着学习的态度。
|
5
vone 2021-09-29 14:42:07 +08:00
|
6
airplayxcom 2021-09-29 15:01:39 +08:00
为什么要写这个
2^2 你打算怎么算 |