1.隨機數
隨機數,是使用一個確定性的算法計算出來隨機數序。在程序開發中經常需要產生隨機數,如隨機數驗證碼登陸、作為唯一身份標識數據等等。
2.rand庫
golang中產生隨機數主要有兩個包,分別是“math/rand”和“crypto/rand”。
“math/rand”的rand包實現了偽隨機數生成器。
"crypto/rand"的rand包實現了用于加解密的更安全的隨機數生成器。
3.生成指定位數隨機數
以生成六位隨機數為例
1
2
3
4
5
6
7
8
9
10
11
|
package main import ( "fmt" "math/rand" ) func CreateCaptcha() string { return fmt.Sprintf("%06v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(1000000)) } func main(){ fmt.Println(CreateCaptcha() ) } |
輸出結果:
同理生成八位隨機數只需修改產生隨機數參數即可
1
2
3
|
func CreateCaptcha() string { return fmt.Sprintf("%08v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(100000000)) } |
依次類推,需要其他指定位數的隨機數時均可通過修改上述參數產生。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/wade3015/article/details/83052122