If statement 如果其他条件与数学/大

If statement 如果其他条件与数学/大,if-statement,go,If Statement,Go,我试图对大数字进行比较,但只能得到字符串值。 那么如何在big.Int上实现一个条件呢。下面是最接近我尝试过的 package main import ( "fmt" "math/big" ) func main() { dirtyVal := "9446744073709551615" dv := big.NewInt(0) dv.SetString(dirtyVal, 10) userVal := dv.String() max

我试图对大数字进行比较,但只能得到字符串值。 那么如何在
big.Int
上实现一个条件呢。下面是最接近我尝试过的

package main

import (
    "fmt"
    "math/big"
)

func main() {

    dirtyVal := "9446744073709551615"
    dv := big.NewInt(0)
    dv.SetString(dirtyVal, 10)
    userVal := dv.String()

    maxVal := "18446744073709551615"
    mv := big.NewInt(0)
    mv.SetString(maxVal, 10)
    // maxValue := mv.String()

    if userVal > maxVal {
        fmt.Println("True")
    } else {
        fmt.Println("False")
    }

}
您可以使用
func(*Int)Cmp
比较两个大的.Int


如果dv.Cmp(mv)>0,您可以使用
来比较两个大的值。Int@siritinga我使用了“Cmp()”,但不确定,谢谢你使用big.Int,是的,有点棘手。我在链接操作时遇到了一些问题,每行写一个操作更容易,更容易阅读。
if dv.Cmp(mv)>0 {
    fmt.Println("True")
} else {
    fmt.Println("False")
}