如何在 Golang 中獲取 Int31n 型別的隨機數?


Golang 是一種近年來獲得了巨大流行度的程式語言。它的眾多特性之一就是能夠生成不同型別的隨機數。在本文中,我們將重點介紹如何在 Golang 中生成 Int31n 型別的隨機數。

Int31n 是一種 32 位有符號整數型別。它是一種在程式設計中常用的資料型別,並且經常被各種應用所需要。以下是如何在 Golang 中生成 Int31n 型別隨機數的方法。

步驟 1:匯入 Math/rand 包

要在 Golang 中生成隨機數,您需要匯入 math/rand 包。此包包含可用於生成不同型別隨機數的函式。

import "math/rand"

步驟 2:為隨機數生成器設定種子

在 Golang 中生成隨機數之前,您需要為隨機數生成器設定種子。這是透過使用 math/rand 包中的 Seed 函式來完成的。Seed 函式以 int64 值作為其引數,該值用於初始化生成器。

rand.Seed(time.Now().UnixNano())

UnixNano 函式用於獲取當前以納秒為單位的 Unix 時間。這確保了每次執行程式時種子值都會發生變化,從而使隨機數更不可預測。

步驟 3:生成隨機數

要生成 Int31n 型別的隨機數,您可以使用 math/rand 包中的 Int31n 函式。此函式採用單個 int32 引數 n 並返回範圍 [0, n) 內的隨機數。

randomNumber := rand.Int31n(n)

這裡,n 是隨機數範圍的上限。例如,如果您想生成 0 到 100 之間的隨機數,則將 n 設定為 100。

步驟 4:使用隨機數

生成 Int31n 型別的隨機數後,您可以根據需要在程式中使用它。例如,您可以使用 fmt.Println 函式將隨機數列印到控制檯。

fmt.Println(randomNumber)

就是這樣!透過遵循這些簡單的步驟,您可以在 Golang 中生成 Int31n 型別的隨機數。請記住,始終為隨機數生成器設定種子,以確保生成的數字是真正隨機且不可預測的。

示例

package main

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

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

   // generate a random number between 0 and 100
   randomNumber := rand.Int31n(101)

   fmt.Println(randomNumber)
}

輸出

59

結論

在 Golang 中生成 Int31n 型別的隨機數是一個簡單的過程,只需幾行程式碼即可完成。透過遵循本文中概述的步驟,您可以在 Golang 程式中生成任何所需範圍內的隨機數。

更新於: 2023年5月8日

203 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告