有没有办法在Go中循环两个big int值x和y之间的间隔?
for i: = x; i < y; i++ {
// do something
}
答案 0 :(得分:4)
使用大数字可能有点笨重,因为你需要为常量创建一个big.Int。除此之外,它是for语句的每个部分直接替换为处理大额的一个部分。
http://play.golang.org/p/pLSd8yf9Lz
package main
import (
"fmt"
"math/big"
)
var one = big.NewInt(1)
func main() {
start := big.NewInt(1)
end := big.NewInt(5)
// i must be a new int so that it does not overwrite start
for i := new(big.Int).Set(start); i.Cmp(end) < 0; i.Add(i, one) {
fmt.Println(i)
}
}