您好,登錄后才能下訂單哦!
本篇內容介紹了“golang中rand.Seed(time.Now().UnixNano())的作用是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
rand.Int
獲取隨機數,不加隨機種子,每次遍歷獲取都是重復的一些隨機數據
rand.Seed(time.Now().UnixNano())
設置隨機數種子,加上這行代碼,可以保證每次隨機都是隨機的
rand.Seed(time.Now().UnixNano()) randInsert := rand.Intn(4) // [0, 4)
如果每次調rand.Intn()前都調了rand.Seed(x),每次的x相同的話,每次的rand.Intn()也是一樣的。
1. 只調一次rand.Seed():在全局初始化調用一次seed,每次調rand.Intn()前都不再調rand.Seed()。
2. 調多次rand.Seed(x),但每次x保證不一樣:每次使用納秒級別的種子。強烈不推薦這種,因為高并發的情況下納秒也可能重復。
“golang中rand.Seed(time.Now().UnixNano())的作用是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。