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 你打算怎么算 |