The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
pmispig

请问怎么解析用户输入表达式

  •  
  •   pmispig · Jan 13, 2020 · 3811 views
    This topic created in 2496 days ago, the information mentioned may be changed or developed.
    我有一个值 i :=200,比如用户输入判断条件 " >= 100"
    怎么把用户的输入转化为代码逻辑,
    ```
    if (i >= 100 ){
    fmt.Println("true")
    }
    ```

    是不是要先用正则切割,再做字符串判断
    9 replies  •  2020-01-14 18:08:55 +08:00
    kumasama
    kumasama
    Jan 13, 2020
    1
    你这让用户输入的条件得限制的严格一些吧
    secondwtq
    secondwtq
    Jan 13, 2020
    2
    当然是用正则,Go 的正则库很好用
    yjhatfdu2
    yjhatfdu2
    Jan 13, 2020
    3
    wafm
    wafm
    Jan 13, 2020 via iPhone
    4
    就是脚本解释了呗
    lihongjie0209
    lihongjie0209
    Jan 13, 2020
    5
    生成脚本代码, 然后找个执行引擎执行就好了
    ShinichiYao
    ShinichiYao
    Jan 14, 2020
    6
    用户输入“≈100”怎么破?
    luozic
    luozic
    Jan 14, 2020 via iPhone
    7
    不复杂的 praser+状态工厂。 复杂的那就是一个 dsl
    pmispig
    pmispig
    OP
    Jan 14, 2020
    8
    @yjhatfdu2 想要的就是这个,多谢~
    zunceng
    zunceng
    Jan 14, 2020
    9
    https://github.com/chai2010/calculator

    之前看到大佬写的 也是 yacc
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2112 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 13:07 · PVG 21:07 · LAX 05:07 · JFK 08:07
    ♥ Do have faith in what you're doing.