在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