英文:
operator <= not defined on pointer
问题
我似乎无法在使用big.Int时使用<=(大于等于)运算符。
有没有一种比较两个big.Int的方法?
我的代码如下:
for i := big.NewInt(2); i <= sqrt; i.Add(i, big.NewInt(1)) {...}
'i'和'sqrt'是我想要比较的内容。
谢谢任何帮助。
英文:
I can't seem to use the <= (greater than or equal to) operator when using big.Int.
Is there a way of comparing two big.Ints?
My code is as such:
for i := big.NewInt(2); i <= sqrt; i.Add(i, big.NewInt(1)) {...
'i' and 'sqrt' are what I want to compare.
Thanks for any help
答案1
得分: 2
使用big包的Cmp方法(https://golang.org/pkg/math/big/#Int.Cmp)。
Cmp方法返回-1表示小于,返回0表示相等,返回1表示大于。
package main
import (
"fmt"
"math/big"
)
func main() {
for i := big.NewInt(2); i.Cmp(big.NewInt(10)) < 1; i.Add(i, big.NewInt(1)) {
fmt.Println(i)
}
}
playground链接:https://play.golang.org/p/FpU8xaRrdE
英文:
Use the Cmp method of big (https://golang.org/pkg/math/big/#Int.Cmp)
Cmp returns -1 if less than. 0 if equal or 1 if greater.
package main
import (
"fmt"
"math/big"
)
func main() {
for i := big.NewInt(2); i.Cmp(big.NewInt(10)) < 1; i.Add(i, big.NewInt(1)) {
fmt.Println(i)
}
}
playground: https://play.golang.org/p/FpU8xaRrdE
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论