如何在Go語言中獲取Uint64型別的隨機數?


在Go語言中,生成隨機數是許多開發人員的常見任務。雖然有多種生成隨機數的方法,但為特定用例使用正確的數字型別非常重要。在本文中,我們將重點介紹在Go語言中生成Uint64型別隨機數。

步驟1:匯入Math/rand包

要生成隨機Uint64數字,我們需要將“math/rand”包匯入到我們的Go語言程式中。此包包含一組用於生成偽隨機數的函式。

步驟2:設定種子

下一步是為隨機數生成器設定種子。這是使用“rand.Seed”函式完成的。種子用於使用起始值初始化偽隨機數生成器。

需要注意的是,如果您不設定種子,則每次執行程式時生成器都會使用相同的起始值。這意味著每次都會得到相同的隨機數序列。為了避免這種情況,您可以使用基於時間的種子值,如下所示:

import (
   "math/rand"
   "time"
)

func main() {
   rand.Seed(time.Now().UnixNano())
}

步驟3:生成隨機Uint64數字

設定種子後,我們可以使用“rand.Uint64”函式生成隨機Uint64數字。此函式不接受任何引數並返回一個偽隨機Uint64值。

示例

以下是生成隨機Uint64數字的示例:

package main

import (
   "fmt"
   "math/rand"
   "time"
)

func main() {
   rand.Seed(time.Now().UnixNano())

   randomUint64 := rand.Uint64()

   fmt.Println(randomUint64)
}

輸出

17611704042530021577

步驟4:生成一系列Uint64數字

在某些情況下,您可能希望生成一系列Uint64數字。這可以透過使用“rand.Intn”函式來完成,該函式返回0到n-1之間的隨機整數。

示例

以下是生成一系列隨機Uint64數字的示例:

package main

import (
   "fmt"
   "math/rand"
   "time"
)

func main() {
   rand.Seed(time.Now().UnixNano())

   for i := 0; i < 10; i++ {
      randomUint64 := rand.Intn(100000000000000000)

      fmt.Println(randomUint64)
   }
}

在此示例中,我們生成10個介於0到99,999,999,999,999,999之間的隨機Uint64數字。

輸出

79048108235541454
86858524305700537
49387909184887176
82420268710562967
39756672912880085
15115054020839883
73878099799920809
63372265888315045
57325136215408552
286418938921796

結論

在Go語言中生成隨機Uint64數字是一個簡單的過程,它涉及設定種子和使用“rand.Uint64”函式。透過遵循本文中概述的步驟,您可以為特定用例生成單個Uint64數字或一系列數字。請記住,始終設定種子以確保每次執行程式時都能獲得不同的隨機數序列。

更新於:2023年5月8日

瀏覽量:394

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.