Go语言写的一个表达式
- 支持四则运算 +, -, *, /, (, )
- 支持函数
Expression Result Expected
1+(2+3) 6 6
1+(2+3)*4 21 21
1+2*3 7 7
1*2*3*4 24 24
1+2+3+4+5 15 15
2*3+4 10 10
4+5*2 14 14
1+2*3+4 11 11
1+2*3+4+5+6+7+8+9*10 127 127
1+((2+3)*4)*5 101 101
1+(2*3)*((4*5+1)+1) 133 133
(((111))) 111 111
min(1, max(1,2,3)+1) 1 1
max(1,2,3,4,5,6,7,8,9,10) 10 10
min(1,2,3,4,5,6,7,8,9,10) 1 1
min(1,2,3,4,5,6,7,8,9,10)+max(1,2,3,4,5,6,7,8,9,10) 11 11
min(1,2,3,4,5,6,7,8,9,10)*max(1,2,3,4,5,6,7,8,9,10) 10 10
min(1,2,3,4,5,6,7,8,9,10)+max(1,2,3,4,5,6,7,8,9,10)*min(1,2,3,4,5,6,7,8,9,10) 11 11
min(1,2,3,4,5,6,7,8,9,10)*max(1,2,3,4,5,6,7,8,9,10)+min(1,2,3,4,5,6,7,8,9,10) 11 11
sum(1,2,3,4,5,6,7,8,9,10) 55 55
sum(1+2+3, 4+5+6, 7+8+9, min(1,10))*max(1,2) 92 92
sum(1+2+3, 2*(5+6), 7+8+9, min(1,10)) * max(1,2) 106 106
sum(1+22+3, 2*(5+6), 7+8+9, min(1,10)) * max(1,2) 146 146