大きな数値を比較しようとしていますが、文字列値しか取得できません。では、で条件をどのように実行しますか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
2つのbig.Inthttp://golang.org/pkg/math/big/#Int.Cmpを比較するために使用できます
if dv.Cmp(mv)>0 {
fmt.Println("True")
} else {
fmt.Println("False")
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加