簡體   English   中英

Go中的大int范圍

[英]Big int ranges in Go

有沒有一種方法可以在Go中循環遍歷兩個大的 int值x和y之間的間隔?

for i: = x; i < y; i++ {
    // do something
}

使用大數可能有點麻煩,因為您需要為常數創建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)
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM