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

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

  •  
  •   pmispig · Jan 13, 2020 · 3422 views
    This topic created in 2335 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
        1
    kumasama  
       Jan 13, 2020
    你这让用户输入的条件得限制的严格一些吧
    secondwtq
        2
    secondwtq  
       Jan 13, 2020
    当然是用正则,Go 的正则库很好用
    yjhatfdu2
        3
    yjhatfdu2  
       Jan 13, 2020
    wafm
        4
    wafm  
       Jan 13, 2020 via iPhone
    就是脚本解释了呗
    lihongjie0209
        5
    lihongjie0209  
       Jan 13, 2020
    生成脚本代码, 然后找个执行引擎执行就好了
    ShinichiYao
        6
    ShinichiYao  
       Jan 14, 2020
    用户输入“≈100”怎么破?
    luozic
        7
    luozic  
       Jan 14, 2020 via iPhone
    不复杂的 praser+状态工厂。 复杂的那就是一个 dsl
    pmispig
        8
    pmispig  
    OP
       Jan 14, 2020
    @yjhatfdu2 想要的就是这个,多谢~
    zunceng
        9
    zunceng  
       Jan 14, 2020
    https://github.com/chai2010/calculator

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