在golang中有時我們會用到表達式解析,目前常用的庫是
govaluate
但在使用過程中發現,除數爲0時並不會返回error或者nil,而是返回無窮大,下面教大家進行無窮大的判斷。
package main
import (
"github.com/govaluate-master"
"fmt"
"math"
)
func main(){
expression, _ := govaluate.NewEvaluableExpression("0 / 0");
result, err := expression.Evaluate(nil);
if err!=nil{
fmt.Println(err.Error())
return
}
if result!=nil{
if math.IsInf(result.(float64),0)||math.IsNaN(result.(float64)){
fmt.Println(result)
}
}
}
更多golang信息交流,歡迎入羣:805574759