為什麼 Go 的 rand.Intn 每次執行都會回傳相同的數字?
Go 標準函式庫包含一個用於產生隨機數的 rand 套件數字。但是,使用者可能會遇到一個問題,即產生指定範圍內的隨機整數的函數 rand.Intn 始終傳回相同的值。此行為可歸因於兩個關鍵因素:
未初始化的預設來源:
rand 套件使用全域來源來產生隨機數。預設情況下,該來源未初始化,從而導致生成確定性序列。若要解決此問題,您必須使用 rand.Seed 函數初始化預設來源。例如:
rand.Seed(time.Now().UnixNano())
以上是為什麼 Go 的 rand.Intn 似乎總是回傳相同的數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!